mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
[PATCH] Doc/lockdep-design: explain display of {state-bits}
Signed-off-by: Jim Cromie <jim.cromie@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
ce584f9138
commit
fd7bcea35e
@ -36,6 +36,28 @@ The validator tracks lock-class usage history into 5 separate state bits:
|
||||
|
||||
- 'ever used' [ == !unused ]
|
||||
|
||||
When locking rules are violated, these 4 state bits are presented in the
|
||||
locking error messages, inside curlies. A contrived example:
|
||||
|
||||
modprobe/2287 is trying to acquire lock:
|
||||
(&sio_locks[i].lock){--..}, at: [<c02867fd>] mutex_lock+0x21/0x24
|
||||
|
||||
but task is already holding lock:
|
||||
(&sio_locks[i].lock){--..}, at: [<c02867fd>] mutex_lock+0x21/0x24
|
||||
|
||||
|
||||
The bit position indicates hardirq, softirq, hardirq-read,
|
||||
softirq-read respectively, and the character displayed in each
|
||||
indicates:
|
||||
|
||||
'.' acquired while irqs enabled
|
||||
'+' acquired in irq context
|
||||
'-' acquired in process context with irqs disabled
|
||||
'?' read-acquired both with irqs enabled and in irq context
|
||||
|
||||
Unused mutexes cannot be part of the cause of an error.
|
||||
|
||||
|
||||
Single-lock state rules:
|
||||
------------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user