From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tejun Heo Subject: Re: WARNING: at kernel/lockdep.c:2323 trace_hardirqs_on_caller+0xb9/0x16c() Date: Thu, 17 Feb 2011 12:28:42 +0100 Message-ID: <20110217112842.GS19830@htj.dyndns.org> References: <4D5A90D0.9040403@free.fr> <20110216.180347.71107177.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Received: from mail-fx0-f46.google.com ([209.85.161.46]:39982 "EHLO mail-fx0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755384Ab1BQL2u (ORCPT ); Thu, 17 Feb 2011 06:28:50 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Yong Zhang Cc: David Miller , daniel.lezcano@free.fr, linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org Hello, On Thu, Feb 17, 2011 at 10:43:57AM +0800, Yong Zhang wrote: > On Thu, Feb 17, 2011 at 10:03 AM, David Miller = wrote: > > From: Yong Zhang > > Date: Thu, 17 Feb 2011 09:37:30 +0800 > > > >> On Tue, Feb 15, 2011 at 10:42 PM, Daniel Lezcano wrote: > >>> Hi All, > >>> > >>> I am running a 2.6.38-rc4-next-20110215+ kernel on qemu x86_64 an= d the > >>> following traces appear in the console: > >>> > >>> Feb 15 15:00:24 lucid kernel: ------------[ cut here ]-----------= - > >>> Feb 15 15:00:24 lucid kernel: WARNING: at kernel/lockdep.c:2323 > >>> trace_hardirqs_on_caller+0xb9/0x16c() > >>> Feb 15 15:00:24 lucid kernel: Hardware name: Bochs > >>> Feb 15 15:00:24 lucid kernel: Pid: 1477, comm: mountall Not taint= ed > >>> 2.6.38-rc4-next-20110215+ #74 > >>> Feb 15 15:00:24 lucid kernel: Call Trace: > >>> Feb 15 15:00:24 lucid kernel: =A0[] ? > >>> warn_slowpath_common+0x7b/0x93 > >>> Feb 15 15:00:24 lucid kernel: [] ? > >>> _raw_spin_unlock_irq+0x2b/0x30 > >>> Feb 15 15:00:24 lucid kernel: [] ? > >>> warn_slowpath_null+0x15/0x17 > >>> Feb 15 15:00:24 lucid kernel: [] ? > >>> trace_hardirqs_on_caller+0xb9/0x16c > >>> Feb 15 15:00:24 lucid kernel: [] ? > >>> trace_hardirqs_on+0xd/0xf > >>> Feb 15 15:00:24 lucid kernel: [] ? > >>> _raw_spin_unlock_irq+0x2b/0x30 > >>> Feb 15 15:00:24 lucid kernel: [] ? > >>> do_ide_request+0x32/0x590 > >> > >> Seems related to IDE SUBSYSTEM > > > > Which hasn't had any changes in the past release. >=20 > OK. >=20 > Cc'ing Tejun Heo >=20 > For the back trace, I think __blk_run_queue() is the ligament. > As from the comment of __blk_run_queue(), it must be called > with the queue lock and interrupts disabled. And the lock > is hold through spin_lock_irqsave(q->queue_lock, flags); at > blk_end_bidi_request(). >=20 > But in do_ide_request(), it realse the lock through > spin_unlock_irq(q->queue_lock); which make the state > inconsistent. >=20 > BTW, do_ide_request() also say it might_sleep(), this warning > also trigger in Daniel's log. This seems to be the same problem Jan reported and fixed by the following patches. http://article.gmane.org/gmane.linux.kernel/1101766/raw http://article.gmane.org/gmane.linux.ide/48819/raw Can you please test whether these two patches fix the problem? Thanks. --=20 tejun