| From: |
| Ingo Molnar <mingo@elte.hu> |
| To: |
| linux-kernel@vger.kernel.org |
| Subject: |
| [patch] Real-Time Preemption, -RT-2.6.12-rc6-V0.7.47-29 |
| Date: |
| Tue, 7 Jun 2005 21:41:19 +0200 |
| Cc: |
| Esben Nielsen <simlo@phys.au.dk>,
Michal Schmidt <xschmi00@stud.feec.vutbr.cz>,
Steven Rostedt <rostedt@goodmis.org> |
| Archive-link: |
| Article,
Thread
|
i have released the -V0.7.47-29 Real-Time Preemption patch, which can be
downloaded from the usual place:
http://redhat.com/~mingo/realtime-preempt/
it's a fixes and speedups release. Changes since -47-20:
- x64 fixes (Michal Schmidt)
- cpufreq fix (Esben Nielsen)
- CONFIG_RT_DEADLOCK_DETECT build fix (Michal Schmidt)
- MAX_USER_RT_PRIO fix (Steven Rostedt)
there are more microoptimizations to the spin_lock/unlock hotpath:
- the caching of mutex_getprio() priority in p->normal_prio
- the mutex lock/unlock paths are now all fall-through. (Found a gcc
bug, it mishandles __builtin_expect() in certain cases and produces
correct but suboptimal code - we are working it around now.)
- reduced the amount of recursive preemption-counter bumps via the use
of raw spinlocks
- rely on the preemption-counter instead of IRQs-off sections
These changes brought the PREEMPT_RT overhead significantly down on
hackbench workloads (clearly a worst-case test for PREEMPT_RT overhead).
Would be interesting to see what kind of system time overhead PREEMPT_RT
now causes for e.g. jack_test workloads.
to build a -V0.7.47-29 tree, the following patches should to be applied:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6...
http://redhat.com/~mingo/realtime-preempt/realtime-preemp...
Ingo