lkml.org 
[lkml]   [2010]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [Patch 0/2] sysfs: fix s_active lockdep warning
    On Fri, Feb 05, 2010 at 04:41:57PM +0100, Peter Zijlstra wrote:
    > On Fri, 2010-02-05 at 10:30 -0500, Alan Stern wrote:
    > > On Fri, 5 Feb 2010, Peter Zijlstra wrote:
    > >
    > > > Right, so this device stuff is much more complicated than I was led to
    > > > believe ;-)
    > >
    > > Haven't I told you all along that tree-structured locking is
    > > complicated? :-)
    >
    > Well, regular tree's aren't all that complicated, but multiple
    > inter-locking trees is a whole different story indeed.
    >

    I ever tried converting device semaphore to mutex, but failed with same issue.

    At least now there's no lockdep solution for it, so I recommend revert
    the mutex converting patch.

    following lockdep warning with rc6-mm1:

    [ 0.397123]
    [ 0.397124] =============================================
    [ 0.397359] [ INFO: possible recursive locking detected ]
    [ 0.397480] 2.6.33-rc6-mm1 #1
    [ 0.397596] ---------------------------------------------
    [ 0.397717] swapper/1 is trying to acquire lock:
    [ 0.397836] (&dev->mutex){+.+...}, at: [<c12662e4>] __driver_attach+0x38/0x63
    [ 0.398162]
    [ 0.398162] but task is already holding lock:
    [ 0.398393] (&dev->mutex){+.+...}, at: [<c12662d8>] __driver_attach+0x2c/0x63
    [ 0.399999]
    [ 0.399999] other info that might help us debug this:
    [ 0.399999] 1 lock held by swapper/1:
    [ 0.399999] #0: (&dev->mutex){+.+...}, at: [<c12662d8>] __driver_attach+0x2c/0x63
    [ 0.399999]
    [ 0.399999] stack backtrace:
    [ 0.399999] Pid: 1, comm: swapper Not tainted 2.6.33-rc6-mm1 #1
    [ 0.399999] Call Trace:
    [ 0.399999] [<c13d5851>] ? printk+0xf/0x11
    [ 0.399999] [<c105460c>] __lock_acquire+0x880/0xc0d
    [ 0.399999] [<c13d66e4>] ? __mutex_unlock_slowpath+0xf0/0xff
    [ 0.399999] [<c1054a34>] lock_acquire+0x9b/0xb8
    [ 0.399999] [<c12662e4>] ? __driver_attach+0x38/0x63
    [ 0.399999] [<c13d685c>] __mutex_lock_common+0x35/0x2f2
    [ 0.399999] [<c12662e4>] ? __driver_attach+0x38/0x63
    [ 0.399999] [<c13d6bb7>] mutex_lock_nested+0x30/0x38
    [ 0.399999] [<c12662e4>] ? __driver_attach+0x38/0x63
    [ 0.399999] [<c12662e4>] __driver_attach+0x38/0x63
    [ 0.399999] [<c1265a43>] bus_for_each_dev+0x3d/0x67
    [ 0.399999] [<c1265f8f>] driver_attach+0x14/0x16
    [ 0.399999] [<c12662ac>] ? __driver_attach+0x0/0x63
    [ 0.399999] [<c126541c>] bus_add_driver+0xc4/0x20c
    [ 0.399999] [<c1266553>] driver_register+0x8b/0xeb
    [ 0.399999] [<c11d8e3a>] acpi_bus_register_driver+0x3a/0x3c
    [ 0.399999] [<c165dc9a>] acpi_ec_init+0x2b/0x4a
    [ 0.399999] [<c165daf8>] acpi_init+0x289/0x2c8
    [ 0.399999] [<c165d86f>] ? acpi_init+0x0/0x2c8
    [ 0.399999] [<c1001139>] do_one_initcall+0x4c/0x13f
    [ 0.399999] [<c163d315>] kernel_init+0x123/0x174
    [ 0.399999] [<c163d1f2>] ? kernel_init+0x0/0x174
    [ 0.399999] [<c10035ba>] kernel_thread_helper+0x6/0x10
    >
    > --
    > 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: 2010-02-07 10:25    [W:0.024 / U:30.192 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site