lkml.org 
[lkml]   [2011]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Linus GIT - INFO: possible circular locking dependency detected
    On Wed, Nov 09, 2011 at 08:05:53PM +0000, Luis Henriques wrote:
    > On Wed, Nov 09, 2011 at 08:52:12PM +0100, Peter Zijlstra wrote:
    > > On Wed, 2011-11-09 at 19:11 +0000, Luis Henriques wrote:
    > > > [ 12.948038] -> #0 (&sig->cred_guard_mutex){+.+.+.}:
    > > > [ 12.948038] [<ffffffff8108ff9f>] __lock_acquire+0x17bf/0x2020
    > > > [ 12.948038] [<ffffffff81092e4f>] lock_acquire+0xaf/0x1f0
    > > > [ 12.948038] [<ffffffff8135b2a5>] __mutex_lock_common+0x65/0x4d0
    > > > [ 12.948038] [<ffffffff8135b76b>] mutex_lock_killable_nested+0x1b/0x20
    > > > [ 12.948038] [<ffffffff811b301e>] lock_trace+0x2e/0x80
    > > > [ 12.948038] [<ffffffff811b73ab>] proc_readfd_common+0x5b/0x4b0
    > > > [ 12.948038] [<ffffffff811b7835>] proc_readfd+0x15/0x20
    > > > [ 12.948038] [<ffffffff8115f8f0>] vfs_readdir+0xb0/0xd0
    > > > [ 12.948038] [<ffffffff8115fa09>] sys_getdents+0x89/0x100
    > > > [ 12.948038] [<ffffffff8135e8c2>] system_call_fastpath+0x16/0x1b
    > > >
    > > > sb->s_type->i_mutex_key is shown as being acquired in the execve path,
    > > > which seems to be wrong -- it was acquired in the vfs_readdir (on the 2nd
    > > > trace).
    > > >
    > > > This means that the initial analysis from Vasiliy is incorrect, as he
    > > > assumed the execve path. Or Am I interpreting this log incorrectly?
    > > > (Probably I am...).
    > >
    > > ->#0 shows where sig->cred_guard_mutex was taken, as it was the first
    > > lock there is no nesting yet and therefore the ->i_mutex_key#6 thing
    > > should not be associated with this stacktrace.
    > >
    > > ->#1 shows where ->i_mutex_key#6 was taken while holding
    > > ->cred_guard_mutex (but doesn't explicitly show where that was taken).
    > >
    > > Mostly ->#0 information is useless in lockdep reports and can be safely
    > > ignored.
    >
    > Interesting. Thank you for the clarification. I understood it the other
    > way around, as the log starts with:
    >
    > [ 12.948038] exe/36 is trying to acquire lock:
    > [ 12.948038] (&sig->cred_guard_mutex){+.+.+.}, at: [<ffffffff811b301e>] lock_trace+0x2e/0x80
    > [ 12.948038]
    > [ 12.948038] but task is already holding lock:
    > [ 12.948038] (&sb->s_type->i_mutex_key#6){+.+.+.}, at: [<ffffffff8115f8b8>] vfs_readdir+0x78/0xd0
    >
    > This is why I thought the "useless information" was in ->#1 (for the
    > i_mutex_key#6).

    FWIW, I am seeing this as well now that I have rebased -rcu to 3.2-rc1.

    Thanx, Paul



    \
     
     \ /
      Last update: 2011-11-14 18:43    [W:4.716 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site