> -----Original Message----- > From: Peter Zijlstra [mailto:a.p.zijlstra@chello.nl] > Sent: Wednesday, February 20, 2013 4:45 PM > To: Bu, Yitian > Cc: tglx@linutronix.de; linux-kernel@vger.kernel.org; mingo@kernel.org > Subject: Re: [PATCH] Fix rq->lock vs logbuf_lock unlock race > > On Mon, 2013-02-18 at 12:53 +0000, Bu, Yitian wrote: > > This patch is for kernel V3.7.9 > > > > From 8796f4a2175a323aaa49ea8dd0fe68678dd5dccd Mon Sep 17 00:00:00 > 2001 > > From: ybu > > Date: Mon, 18 Feb 2013 19:52:01 +0800 > > Subject: [PATCH] Fix rq->lock vs logbuf_lock unlock race > > > > fix up the fallout from commit 07354eb1a74d1 ("locking printk: > > Annotate logbuf_lock as raw") > > Release console_sem after unlocking the logbuf_lock avoids some lock > > inversion troubles between logbuf_lock and rq->lock. > > Please clarify how and where.. you're not actually supposed to use > printk() while holding rq->lock. > 1. the patch 0b5e1c5255e, which is written by you, release console_sem after logbuf_lock. But the patch 07354eb1a revert one of your change, it reintroduced a lock inversion problem which was fixed in 0b5e1c5255. The purpose of my patch is the same as your patch 0b5e1c5255e. 2. from printk comment: "This is printk(). It can be called from any context. We want it to work. ". I suppose to use printk in any context. {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I