Lock breaking patch for the fully preemptible linux kernel Or, a low-latency patch for preempt-kernel This patch attempts to further lower latency under Linux by eliminating the worst-case latencies under the preempt-kernel patch by "breaking" long-held locks inside the kernel. It is intended for use by those with hightened response needs that are affected by certain locks, primarily in the VM and VFS code. While the preemptible kernel eliminates the need for specific scheduling points throughout the kernel, preemption must not occur while a lock is held. This patch borrows from Ingo Molnar and Andrew Morton's low-latency patches. In particular, much credit is due to Andrew whose low-latency patch is the basis for much of this code. Thanks goes to preempt-kernel users who reported preempt-stats results and William Irwin for some good testing. Use Patch. Enable CONFIG_PREEMPT and CONFIG_LOCK_BREAK from `Processor Options'. Compile. Debugging Setting DEBUG_LOCK_BREAK in include/linux/lock_break.h will define the debug_lock_break(n) macro to report instances where the expected lock depth does not equal the actual. If the lock depth is higher than expected, we may not be dropping enough locks. If it is 0, we are wasting our time since preemption can occur. Enjoy, Robert Love rml@tech9.net