CONFIG PREEMPT RT Patch
The CONFIG_PREEMPT_RT Patch Set
The CONFIG_PREEMPT_RT patch set is maintained by a small group of core developers, led by Ingo Molnar. This patch allows nearly all of the kernel to be preempted, with the exception of a few very small regions of code ("raw_spinlock critical regions"). This is done by replacing most kernel spinlocks with mutexes that support priority inheritance, as well as moving all interrupt and software interrupts to kernel threads.
It further incorporates high resolution timers - a patch set, which is independently maintained.
You can find now a detailed RT_PREEMPT_HOWTO on this page.
Paul McKenney has written a good CONFIG_PREEMPT_RT overview which is a good introduction to the changes introduced to the kernel by the CONFIG_PREEMPT_RT patch.
There is also a yum repository with precompiled kernels and source rpms:
cd /etc/yum.repos.d wget http://people.redhat.com/~mingo/realtime-preempt/rt.repo
yum install kernel-rt.x86_64 # on x86_64 yum install kernel-rt # on i686
yum update kernel-rt # refresh - or enable yum-updatesd
And also an apt repository for Ubuntu with x86 precompiled kernel. You can find more information in this wiki page:
Please send patches for the CONFIG_PREEMPT_RT Patch Set to LKML and put Ingo Molnar and Thomas Gleixner on CC.
Please do not send clocksource and clockevents related patches against the -rt patch. Make sure they apply against the latest -hrt-dyntick patch. -hrt-dyntick might be a bit ahead of -rt at times, but the -rt patch pulls -hrt-dyntick on a regular base.
Platforms Tested and in Use with CONFIG_PREEMPT_RT
|Processor||Model #'s||Kernel version(s)||Contact(s)|
|Opteron||IBM LS-20, LS-21, x3455||2.6.16-rt22, 2.6.20-rt8||Theodore Ts'o, Darren Hart|
|Xeon||IBM 6850-P4U||2.6.20-rt8, 2.6.21-rc6-rt0||Dave Sperry|
|P4||Compaq Evo N610||2.6.16-rt22||Dave Sperry|
|P3||Celeron 1300||188.8.131.52-rt14||Oleksandr Natalenko|
|Prescott||PentiumD 3 GHz||184.108.40.206-rt9||Dmitry Pisklov|
|Intel||Pentium 4 CPU 2.4 GHz||2.6.23-rc8-rt1||Jaswinder Singh|
|Intel||Core 2 Duo E6300/E6400||2.6.20-rt8||Remy Bohmer|
|Intel||Core 2 Duo E6600 2.4GHz||2.6.23-rc4-rt1||Remy Bohmer|
|ARM||AT91RM9200-EK||2.6.22-rt* to 2.6.23-rt4-rt1||Remy Bohmer|
|ARM||AT91SAM9261-EK (DM9000 driver is buggy)||2.6.22-rt* to 2.6.23-rt4-rt1||Remy Bohmer|