On Thu, Feb 17, 2011 at 10:03 AM, David Miller <davem@xxxxxxxxxxxxx> wrote: > From: Yong Zhang <yong.zhang0@xxxxxxxxx> > Date: Thu, 17 Feb 2011 09:37:30 +0800 > >> On Tue, Feb 15, 2011 at 10:42 PM, Daniel Lezcano <daniel.lezcano@xxxxxxx> wrote: >>> Hi All, >>> >>> I am running a 2.6.38-rc4-next-20110215+ kernel on qemu x86_64 and 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 tainted >>> 2.6.38-rc4-next-20110215+ #74 >>> Feb 15 15:00:24 lucid kernel: Call Trace: >>> Feb 15 15:00:24 lucid kernel: <IRQ> Â[<ffffffff8102b8a5>] ? >>> warn_slowpath_common+0x7b/0x93 >>> Feb 15 15:00:24 lucid kernel: [<ffffffff8146c097>] ? >>> _raw_spin_unlock_irq+0x2b/0x30 >>> Feb 15 15:00:24 lucid kernel: [<ffffffff8102b8d2>] ? >>> warn_slowpath_null+0x15/0x17 >>> Feb 15 15:00:24 lucid kernel: [<ffffffff8104f796>] ? >>> trace_hardirqs_on_caller+0xb9/0x16c >>> Feb 15 15:00:24 lucid kernel: [<ffffffff8104f856>] ? >>> trace_hardirqs_on+0xd/0xf >>> Feb 15 15:00:24 lucid kernel: [<ffffffff8146c097>] ? >>> _raw_spin_unlock_irq+0x2b/0x30 >>> Feb 15 15:00:24 lucid kernel: [<ffffffff812e167e>] ? >>> do_ide_request+0x32/0x590 >> >> Seems related to IDE SUBSYSTEM > > Which hasn't had any changes in the past release. OK. Cc'ing Tejun Heo 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(). But in do_ide_request(), it realse the lock through spin_unlock_irq(q->queue_lock); which make the state inconsistent. BTW, do_ide_request() also say it might_sleep(), this warning also trigger in Daniel's log. Thanks, Yong -- Only stand for myself -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html