<br><br><div class="gmail_quote">On Thu, Dec 8, 2011 at 4:49 AM, Kai Meyer <span dir="ltr">&lt;<a href="mailto:kai@gnukai.com">kai@gnukai.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I&#39;m getting this when I try to spin_unlock a recently acquired lock with<br>
spin_lock. IRQs are still somewhat of a mystery to me, and cryptic lock<br>
state symbols (IN-HARDIRQ-W, HARDIRQ-ON-W) are unintelligible to me.<br>
<br>
Dec  7 15:52:20 dev2 kernel: =================================<br>
Dec  7 15:52:20 dev2 kernel: [ INFO: inconsistent lock state ]<br>
Dec  7 15:52:20 dev2 kernel: 2.6.32-220.el6.x86_64.debug #1<br>
Dec  7 15:52:20 dev2 kernel: ---------------------------------<br>
Dec  7 15:52:20 dev2 kernel: inconsistent {IN-HARDIRQ-W} -&gt;<br>
{HARDIRQ-ON-W} usage.<br>
<br>
Looking at lockdep.c isn&#39;t giving me any help either. It&#39;s obfuscated<br>
beyond my ability to grok by simply reading the code.<br>
<br>
It seems like this portion should help me, but it doesn&#39;t....<br>
Dec  7 15:52:20 dev2 kernel: {IN-HARDIRQ-W} state was registered at:<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff810afbca&gt;]<br>
__lock_acquire+0x77a/0x1570<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff810b0a64&gt;] lock_acquire+0xa4/0x120<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff81520c75&gt;]<br>
_spin_lock_irqsave+0x55/0xa0<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffffa006b19b&gt;] blk_done+0x2b/0x110<br>
[virtio_blk]<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffffa00401dc&gt;]<br>
vring_interrupt+0x3c/0xd0 [virtio_ring]<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff810ec080&gt;]<br>
handle_IRQ_event+0x50/0x160<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff810ee840&gt;]<br>
handle_edge_irq+0xe0/0x170<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff8100e059&gt;] handle_irq+0x49/0xa0<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff81526cdc&gt;] do_IRQ+0x6c/0xf0<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff8100ba93&gt;] ret_from_intr+0x0/0x16<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff810148e2&gt;] default_idle+0x52/0xc0<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff81009e0b&gt;] cpu_idle+0xbb/0x110<br>
Dec  7 15:52:20 dev2 kernel:  [&lt;ffffffff81516623&gt;]<br>
start_secondary+0x211/0x254<br>
<br>
Then later it tells me that I&#39;m holding 1 lock, which is the one that I<br>
mentioned at the beginning that was just recently locked.<br>
<br></blockquote><div><br></div><div>2 things:</div><div>1. Documentation/lockdep-design.txt explains the &quot;cryptic lock state symbols&quot;.</div><div>2. Please post the lockdep splat _exactly_ as it appears, and _in full_ </div>
<div>    (and without line-wrapping, if possible). Usually lockdep is intelligent</div><div>    enough to tell you the possible scenario that would lock up your system.</div><div>    That gives a very good clue, in case you find it difficult to make out what</div>
<div>     is wrong from the cryptic symbols.</div><div><br></div><div>Regards,</div><div>Srivatsa S. Bhat</div></div>