rtpreempt howto
Yang Honggang <eagle.rtlinux@gmail.com>
-------------------------
ref: https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO#Getting_the_Sources
-------------------------------------------------------------------------------
1.
$tar -Jxf linux-3.10.6.tar.xz
2. Patch
$cd linux-3.10.6
$ xzcat ../patch-3.10.6-rt3.patch.xz | patch -p1
3. config
$make defconfig
$make menuconfig
(X) Fully Preemptible Kernel (RT)//CONFIG_PREEMPT_RT_FULL
...
4. make
$ make -j8
#make modules_install
#make install
5. reboot
#reboot
6.
$ uname -r
3.10.6-rt3i
$$ cat /sys/kernel/realtime
1
$ ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:00 init [2]
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [ksoftirqd/0]
4 ? S 0:00 [kworker/0:0]
5 ? S< 0:00 [kworker/0:0H]
6 ? S 0:00 [kworker/u16:0]
7 ? S 0:00 [posixcputmr/0]
8 ? S 0:00 [kcmosdelayd]
9 ? S 0:00 [migration/0]
10 ? S 0:00 [rcu_preempt]
11 ? S 0:00 [rcu_bh]
12 ? S 0:00 [rcu_sched]
13 ? S 0:00 [migration/1]
14 ? S 0:00 [ksoftirqd/1]
15 ? S 0:00 [posixcputmr/1]
16 ? S 0:00 [kworker/1:0]
17 ? S< 0:00 [kworker/1:0H]
18 ? S 0:00 [migration/2]
19 ? S 0:00 [ksoftirqd/2]
20 ? S 0:00 [posixcputmr/2]
21 ? S 0:00 [kworker/2:0]
22 ? S< 0:00 [kworker/2:0H]
23 ? S 0:00 [migration/3]
24 ? S 0:00 [ksoftirqd/3]
25 ? S 0:00 [posixcputmr/3]
26 ? S 0:00 [kworker/3:0]
27 ? S< 0:00 [kworker/3:0H]
28 ? S< 0:00 [khelper]
29 ? S< 0:00 [netns]
30 ? S 0:00 [kworker/u16:1]
351 ? S< 0:00 [writeback]
353 ? S< 0:00 [bioset]
355 ? S< 0:00 [kblockd]
357 ? S 0:00 [irq/9-acpi]
502 ? S< 0:00 [ata_sff]
513 ? S 0:00 [khubd]
522 ? S< 0:00 [md]
531 ? S 0:00 [kworker/0:1]
532 ? S< 0:00 [cfg80211]
631 ? S< 0:00 [rpciod]
657 ? S 0:00 [kswapd0]
723 ? S 0:00 [fsnotify_mark]
737 ? S< 0:00 [nfsiod]
742 ? S< 0:00 [crypto]
776 ? S 0:00 [kworker/1:1]
778 ? S 0:00 [kworker/2:1]
780 ? S 0:00 [kworker/3:1]
786 ? S 0:00 [kworker/u16:2]
829 ? S 0:00 [irq/41-ahci]
...
Yang Honggang <eagle.rtlinux@gmail.com>
-------------------------
ref: https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO#Getting_the_Sources
-------------------------------------------------------------------------------
1.
$tar -Jxf linux-3.10.6.tar.xz
2. Patch
$cd linux-3.10.6
$ xzcat ../patch-3.10.6-rt3.patch.xz | patch -p1
3. config
$make defconfig
$make menuconfig
(X) Fully Preemptible Kernel (RT)//CONFIG_PREEMPT_RT_FULL
...
4. make
$ make -j8
#make modules_install
#make install
5. reboot
#reboot
6.
$ uname -r
3.10.6-rt3i
$$ cat /sys/kernel/realtime
1
$ ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:00 init [2]
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [ksoftirqd/0]
4 ? S 0:00 [kworker/0:0]
5 ? S< 0:00 [kworker/0:0H]
6 ? S 0:00 [kworker/u16:0]
7 ? S 0:00 [posixcputmr/0]
8 ? S 0:00 [kcmosdelayd]
9 ? S 0:00 [migration/0]
10 ? S 0:00 [rcu_preempt]
11 ? S 0:00 [rcu_bh]
12 ? S 0:00 [rcu_sched]
13 ? S 0:00 [migration/1]
14 ? S 0:00 [ksoftirqd/1]
15 ? S 0:00 [posixcputmr/1]
16 ? S 0:00 [kworker/1:0]
17 ? S< 0:00 [kworker/1:0H]
18 ? S 0:00 [migration/2]
19 ? S 0:00 [ksoftirqd/2]
20 ? S 0:00 [posixcputmr/2]
21 ? S 0:00 [kworker/2:0]
22 ? S< 0:00 [kworker/2:0H]
23 ? S 0:00 [migration/3]
24 ? S 0:00 [ksoftirqd/3]
25 ? S 0:00 [posixcputmr/3]
26 ? S 0:00 [kworker/3:0]
27 ? S< 0:00 [kworker/3:0H]
28 ? S< 0:00 [khelper]
29 ? S< 0:00 [netns]
30 ? S 0:00 [kworker/u16:1]
351 ? S< 0:00 [writeback]
353 ? S< 0:00 [bioset]
355 ? S< 0:00 [kblockd]
357 ? S 0:00 [irq/9-acpi]
502 ? S< 0:00 [ata_sff]
513 ? S 0:00 [khubd]
522 ? S< 0:00 [md]
531 ? S 0:00 [kworker/0:1]
532 ? S< 0:00 [cfg80211]
631 ? S< 0:00 [rpciod]
657 ? S 0:00 [kswapd0]
723 ? S 0:00 [fsnotify_mark]
737 ? S< 0:00 [nfsiod]
742 ? S< 0:00 [crypto]
776 ? S 0:00 [kworker/1:1]
778 ? S 0:00 [kworker/2:1]
780 ? S 0:00 [kworker/3:1]
786 ? S 0:00 [kworker/u16:2]
829 ? S 0:00 [irq/41-ahci]
...