http://www.osadl.org/Single-View.111+M515fd8ddfa3.0.htmlMainline Realtime Linux (PREEMPT_RT) 2.6.29 declared "Latest Stable"Upgrade to 2.6.29.4-rt17 and enjoy better performance and responsiveness of the Linux kernel than ever beforeOn the vanilla side of life
|
1. Hackbench scheduler stress # while true > do > hackbench 25 > done |
2. Recursive extended directory listing # while true > do > ls -Ral / > done |
Running a total of 10,000,000 loops of sendme under the above stress conditions on 2.6.26.8-rt16 revealed:
# sendme -i200 -a -p99 -l10000000
Samples: 10000000
To: Min 1, Cur 2, Avg 2, Max 14
From: Min 5, Cur 6, Avg 7, Max 290
Doing the same on our "Latest Stable" 2.6.29.4-rt17 gives:
# sendme -i200 -a -p99 -l10000000
Samples: 10000000
To: Min 0, Cur 1, Avg 1, Max 12
From: Min 2, Cur 2, Avg 2, Max 17
The average duration dropped from 7 to 2 µs, and the worst-case duration even dropped from 290 to 17 µs! Wow, we have discovered another miracle of our "Latest Stable" 2.6.29.4-rt17. What happened here?
Instrumentation
and tracing of the critical code in kernel 2.6.26 revealed a number of
missing lock breaks in the memory allocation code. Fixing these
omissions already reduced the worst-case duration of signal traveling
considerably.
Kudos to Peter Zijlstra for doing such a great job! In addition, Thomas
Gleixner applied special optimizations to further improve the timing in
cases when only a single signal is used. Thus, programmers who make
heavy use of signals in parallel with frequent memory allocations will
probably see a considerably better kernel responsiveness after
upgrading to 2.6.29.4-rt17. In addition and as always, the new PREEMPT_RT
kernel fixes many bugs and incorporates many improvements.
So, the message is: There are a number of good
reasons for everybody to upgrade to our "Latest Stable".
Everybody? Well, sorry, not everybody - the MIPS architecture patches
didn't make it into the new kernel yet. But the MIPS people are working
heavily on it, and we will make it available as soon as possible. The
2.6.26 -rt tree will, therefore, be maintained for some time, and fixes
will be backported should it become necessary. If everything works
well, MIPS support will be back in the -rt tree of 2.6.30.
BTW: In terms of release date,
real-time Linux is now pretty close to vanilla Linux - the -rt tree of
2.6.29 became "Latest Stable" on the same day as vanilla 2.6.30 was
released - we are only one release number behind! And the distance
between vanilla and -rt will become even closer in the next future,
until both are released the same day - the day when the CONFIG_PREEMPT_RT
configuration item will appear in an unpatched vanilla kernel ...
