LWN.net Logo

Real-Time Preemption, -RT-2.6.12-rc6-V0.7.47-29

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

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds