On Wed, 2007-09-26 at 14:22 +0200, Boris Glawe wrote: > Hello, > > From the introduction of kernel 2.6 on, the kernel can be configured to > be preemtible. This promises better latency. > Many did not use this feature in the past: Why? > > When I look at Fedora's 7 kernel source configuration (with 'make > menuconfig'), the kernel is also not preemtible, but "voluntarily > preemtible": What does that mean? > > thanks and greets > Boris As the name suggests (and I'm doing a massive simplification... so don't shoot me) involuntary preemption means: "Unless strictly stated other-wise, your code can be preempted any time, any place" while voluntary preemption (roughly) means: "When you call certain kernel functions the CPU might get rescheduled from under your feet". Needless to say, involuntary preemption can wreck havoc on code that was never designed with preemption in mind. (Mostly resource-sharing-dead-locks and code re-entries) As such, making the kernel preempt-able ready takes a lot of time (to change the code behavior) and a lot of testing. (To fix all the bugs) - Gilboa