lkml.org 
[lkml]   [2011]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: WARNING: at kernel/lockdep.c:2323 trace_hardirqs_on_caller+0xb9/0x16c()
    From
    On Thu, Feb 17, 2011 at 10:03 AM, David Miller <davem@davemloft.net> wrote:
    > From: Yong Zhang <yong.zhang0@gmail.com>
    > Date: Thu, 17 Feb 2011 09:37:30 +0800
    >
    >> On Tue, Feb 15, 2011 at 10:42 PM, Daniel Lezcano <daniel.lezcano@free.fr> 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-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-02-17 03:47    [W:0.024 / U:59.304 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site