|From:||Ingo Molnar <email@example.com>|
|Subject:||[patch] voluntary-preempt-2.6.8-rc2-L2, preemptable hardirqs|
|Date:||Tue, 27 Jul 2004 18:27:59 +0200|
|Cc:||William Lee Irwin III <firstname.lastname@example.org>, Lenar L?hmus <email@example.com>, Andrew Morton <firstname.lastname@example.org>, Lee Revell <email@example.com>, Arjan van de Ven <firstname.lastname@example.org>|
i've uploaded -L2: http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-L2 the big change in the -L2 release is a new latency-reduction feature: the redirection of hardirqs to irqd. This enables lock-break methods that make hardirqs preemptable. I've done the lock-break of the IDE driver's completion path and i now cannot trigger larger than 100 usecs hardirq latencies via the IDE driver anymore, on a 2GHz x86 box - even if max_sectors is kept at the default 1024K value. (!) the hardirq-redirection feature is activated via voluntary-preemption=3 (default). All irqs except the timer irq are redirected. (the timer irq needs to run from irq context - but it has constant latency and constant frequency so it's not an issue. Soft timers are executed from the timer softirq which is redirected and hence preemptable.) this means that with this patch applied the 2.6 UP kernel is quite close to being hard-RT capable (using controlled drivers and workloads). All unbound-latency asynchronous workloads have been unloaded into synchronous, schedulable process contexts - so nothing can delay a high-prio RT task. (assuming we caught all the latencies. Any remaining latency can be fixed with the existing methods.) other changes in -L2: i've done a softirq lock-break in the atkbd and ps2mouse drivers - this should fix the big latencies triggered by NumLock/CapsLock, reported by Lee Revell. BIG WARNING: the hardirq-redirection feature is quite intrusive to drivers so it's possible that some drivers will break under it. The changes done to the IDE driver might also endanger stability. Be careful when applying this patch to production systems. If your system doesnt boot then please try the voluntary-preempt=2 boot-option to turn off hardirq redirection. I've done some stresstesting on a desktop-style IDE-based system and everything seems to work fine. YMMV. Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to email@example.com More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds