diff --git a/Documentation/DocBook/kernel-locking.tmpl b/Documentation/DocBook/kernel-locking.tmpl
index 644c3884fab9..0a441f73261a 100644
--- a/Documentation/DocBook/kernel-locking.tmpl
+++ b/Documentation/DocBook/kernel-locking.tmpl
@@ -551,10 +551,12 @@
spin_lock_irqsave(), which is a superset
of all other spinlock primitives.
+
Table of Locking Requirements
+
IRQ Handler A
@@ -576,97 +578,128 @@
IRQ Handler B
-spin_lock_irqsave
+SLIS
None
Softirq A
-spin_lock_irq
-spin_lock_irq
-spin_lock
+SLI
+SLI
+SL
Softirq B
-spin_lock_irq
-spin_lock_irq
-spin_lock
-spin_lock
+SLI
+SLI
+SL
+SL
Tasklet A
-spin_lock_irq
-spin_lock_irq
-spin_lock
-spin_lock
+SLI
+SLI
+SL
+SL
None
Tasklet B
-spin_lock_irq
-spin_lock_irq
-spin_lock
-spin_lock
-spin_lock
+SLI
+SLI
+SL
+SL
+SL
None
Timer A
-spin_lock_irq
-spin_lock_irq
-spin_lock
-spin_lock
-spin_lock
-spin_lock
+SLI
+SLI
+SL
+SL
+SL
+SL
None
Timer B
-spin_lock_irq
-spin_lock_irq
-spin_lock
-spin_lock
-spin_lock
-spin_lock
-spin_lock
+SLI
+SLI
+SL
+SL
+SL
+SL
+SL
None
User Context A
-spin_lock_irq
-spin_lock_irq
-spin_lock_bh
-spin_lock_bh
-spin_lock_bh
-spin_lock_bh
-spin_lock_bh
-spin_lock_bh
+SLI
+SLI
+SLBH
+SLBH
+SLBH
+SLBH
+SLBH
+SLBH
None
User Context B
-spin_lock_irq
-spin_lock_irq
-spin_lock_bh
-spin_lock_bh
-spin_lock_bh
-spin_lock_bh
-spin_lock_bh
-spin_lock_bh
-down_interruptible
+SLI
+SLI
+SLBH
+SLBH
+SLBH
+SLBH
+SLBH
+SLBH
+DI
None
+
+
+Legend for Locking Requirements Table
+
+
+
+
+SLIS
+spin_lock_irqsave
+
+
+SLI
+spin_lock_irq
+
+
+SL
+spin_lock
+
+
+SLBH
+spin_lock_bh
+
+
+DI
+down_interruptible
+
+
+
+
+
+