Commit 017f021c authored by Ed L. Cashin's avatar Ed L. Cashin Committed by Linus Torvalds

docs: static initialization of spinlocks is OK

Static initialization of spinlocks is preferable to dynamic initialization
when it is practical.  This patch updates documentation for consistency
with comments in spinlock_types.h.
Signed-off-by: default avatarEd L. Cashin <ecashin@coraid.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7e7d136e
UPDATE March 21 2005 Amit Gud <gud@eth.net> SPIN_LOCK_UNLOCKED and RW_LOCK_UNLOCKED defeat lockdep state tracking and
are hence deprecated.
Macros SPIN_LOCK_UNLOCKED and RW_LOCK_UNLOCKED are deprecated and will be Please use DEFINE_SPINLOCK()/DEFINE_RWLOCK() or
removed soon. So for any new code dynamic initialization should be used: __SPIN_LOCK_UNLOCKED()/__RW_LOCK_UNLOCKED() as appropriate for static
initialization.
Dynamic initialization, when necessary, may be performed as
demonstrated below.
spinlock_t xxx_lock; spinlock_t xxx_lock;
rwlock_t xxx_rw_lock; rwlock_t xxx_rw_lock;
...@@ -15,12 +20,9 @@ removed soon. So for any new code dynamic initialization should be used: ...@@ -15,12 +20,9 @@ removed soon. So for any new code dynamic initialization should be used:
module_init(xxx_init); module_init(xxx_init);
Reasons for deprecation The following discussion is still valid, however, with the dynamic
- it hurts automatic lock validators initialization of spinlocks or with DEFINE_SPINLOCK, etc., used
- it becomes intrusive for the realtime preemption patches instead of SPIN_LOCK_UNLOCKED.
Following discussion is still valid, however, with the dynamic initialization
of spinlocks instead of static.
----------------------- -----------------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment