The patch titled Doc/lockdep-design: explain display of {state-bits} has been added to the -mm tree. Its filename is doc-lockdep-design-explain-display-of-state-bits.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: Doc/lockdep-design: explain display of {state-bits} From: Jim Cromie <jim.cromie@xxxxxxxxx> Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- Documentation/lockdep-design.txt | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+) diff -puN Documentation/lockdep-design.txt~doc-lockdep-design-explain-display-of-state-bits Documentation/lockdep-design.txt --- a/Documentation/lockdep-design.txt~doc-lockdep-design-explain-display-of-state-bits +++ a/Documentation/lockdep-design.txt @@ -36,6 +36,28 @@ The validator tracks lock-class usage hi - 'ever used' [ == !unused ] +When mutex rules are violated, these 4 state bits are presented in the +mutex 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: + + '.' used + '+' used in irqs + '-' enabled in irqs + '?' used and enabled (bits 3,4) + +Unused mutexes cannot be part of the cause of an error. + + Single-lock state rules: ------------------------ _ Patches currently in -mm which might be from jim.cromie@xxxxxxxxx are drivers-char-scx200_gpioc-make-code-static.patch drivers-char-pc8736x_gpioc-remove-unused-static-functions.patch doc-lockdep-design-explain-display-of-state-bits.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html