Le Thu, 27 Dec 2007 09:00:39 +0700, "Mulyadi Santosa" <[EMAIL PROTECTED]> a écrit :
> 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....
No, in the SMP case, lock_kernel() is of course not empty. Have a look
at include/linux/smp_lock.h. It defines lock_kernel() as empty only if
CONFIG_LOCK_KERNEL is false (otherwise one of the two non-empty
implementations of lock_kernel() in lib/kernel_lock.c is used).
And CONFIG_LOCK_KERNEL is defined in init/Kconfig as follows:
config LOCK_KERNEL
bool
depends on SMP || PREEMPT
default y
So it's true if you are on SMP *or* if you are using full-preemption
(PREEMPT).
Sincerly,
Thomas
--
Thomas Petazzoni, [EMAIL PROTECTED], http://thomas.enix.org
Jabber, [EMAIL PROTECTED]
Toulibre, http://www.toulibre.org - APRIL, http://www.april.org
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E 1624 F653 CB30 98D3 F7A7
signature.asc
Description: PGP signature
