the big change in the -L2 release is a new latency-reduction feature:the redirection of hardirqs to irqd. This enables lock-break methodsthat make hardirqs preemptable.

I've done the lock-break of the IDE driver's completion path and i nowcannot trigger larger than 100 usecs hardirq latencies via the IDEdriver anymore, on a 2GHz x86 box - even if max_sectors is kept at thedefault 1024K value. (!)

the hardirq-redirection feature is activated via voluntary-preemption=3(default). All irqs except the timer irq are redirected. (the timer irqneeds to run from irq context - but it has constant latency and constantfrequency so it's not an issue. Soft timers are executed from the timersoftirq which is redirected and hence preemptable.)

this means that with this patch applied the 2.6 UP kernel is quite closeto being hard-RT capable (using controlled drivers and workloads). Allunbound-latency asynchronous workloads have been unloaded intosynchronous, schedulable process contexts - so nothing can delay ahigh-prio RT task. (assuming we caught all the latencies. Any remaininglatency can be fixed with the existing methods.)

BIG WARNING: the hardirq-redirection feature is quite intrusive todrivers so it's possible that some drivers will break under it. Thechanges done to the IDE driver might also endanger stability. Be carefulwhen applying this patch to production systems. If your system doesntboot then please try the voluntary-preempt=2 boot-option to turn offhardirq redirection.

I've done some stresstesting on a desktop-style IDE-based system andeverything seems to work fine. YMMV.