Re: Spinlock init

From: Roland Dreier
Date: Wed Jun 20 2007 - 16:29:35 EST


> can rwlock_init and spin_lock_init be used outside of functions declared
> __init. The spinlock documentation suggests that it can't but I'd like
> someone to confirm that.

Those function can be used in any function. A function is declared
__init if it only runs during the kernel startup, so that the memory
holding the code for __init functions can be freed once startup is
done. However, spin_lock_init() is just used to initialize a freshly
allocated spinlock, and spinlocks may be allocated at any time, even
long after the kernel is done starting up. A quick look throught
kernel source code will show many, many examples where
spin_lock_init(), rwlock_init(), mutex_init(), etc. are called from
non-__init functions.


- R.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/