The Linux kernel is non-preemptive, but I just read that there could be context-switches in different control paths. Doesn't that contradict the non-preemptive nature on the Linux kernel?
+2
A:
No, it does not contradict this, because the latest Linux kernels are pre-emptive.
WhirlWind
2010-05-23 13:13:47
+1
A:
There were / are several different preemption models used by the Linux kernel, which included the old "non-preemptable" model - which means, in general, that kernel code cannot be preempted (I mean when not calling schedule(), sleep_on() etc)
There are also several other degrees of preemptability. Look at the kernel documentation for more information.
MarkR
2010-05-23 13:47:35