Hi Thomas.. > As explained in the kernel configuration help text for this option, > voluntary preemption consists in adding explicit preemption points in > the kernel. No kernel code will be preempted if it doesn't explicity > calls might_sleep() (see http://lwn.net/Articles/93604/). So, it's up > to you to not call might_sleep() when you're accessing shared data > structures. That's why lock_kernel() is empty in voluntary preemption: > it's simply up to you to not call might_sleep() at the wrong places. What if the user selected CONFIG_SMP and at the same time choose voluntary preemption model? does lock_kernel() still expand as void function? I guess in SMP we still have to deal with concurrent acquisition of lock.... regards, Mulyadi -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ