<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:΢ÈíÑźÚ
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><br> <BR><div id="SkyDrivePlaceholder"></div><div>> Date: Mon, 18 Feb 2013 10:54:44 +0100<br>> From: tglx@linutronix.de<br>> To: buyit@live.cn<br>> CC: mulyadi.santosa@gmail.com; kernelnewbies@kernelnewbies.org; a.p.zijlstra@chello.nl; rabin@rab.in; mingo@kernel.org<br>> Subject: RE: spinlock deadlock<br>> <br>> On Sun, 17 Feb 2013, buyitian wrote:<br>> <br>> Could you please use a mail client, which creates readable mail?<br>> <br>> > this patch is to prevent deadlock between rq->lock and<br>> > logbuf_lock. i can understand this thanks to Rabin. 2. in patch<br>> > 07354eb1a74d1e1ece29f8bafe0b46e8c77a95ef, Thomas did changes as<br>> > below, which reverted the change from peter, i don't know why: in<br>> > function console_trylock_for_printk():<br>> <br>> > - spin_unlock(&logbuf_lock);<br>> > if (wake)<br>> > up(&console_sem);<br>> > + raw_spin_unlock(&logbuf_lock);<br>> <br>> > and this change exists in the latest kernel source code. it seems<br>> > that deadlock bewteen rq->lock and logbuf_lock comes back, who can<br>> > explain this, thanks. BTW: if i place printk inside schedule(), i<br>> > may get rq->lock before calling printk.<br>> <br>> That looks like a merge slipup. The patch which converts the lock is<br>> not supposed to do any other changes. But the patch was based on an<br>> older kernel version, which did not have Peters changes yet. So the<br>> fixup of the not longer applying patch failed somehow.</div><div> </div><div> </div><div>i will provide patch, thanks for your reply.</div><div><br>> <br>> Thanks,<br>> <br>>         tglx<br></div>                                            </div></body>
</html>