xfs
[Top] [All Lists]

Re: xfs i_lock vs mmap_sem lockdep trace.

To: Sasha Levin <sasha.levin@xxxxxxxxxx>
Subject: Re: xfs i_lock vs mmap_sem lockdep trace.
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Fri, 11 Apr 2014 08:52:34 +1000
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>, Dave Jones <davej@xxxxxxxxxx>, Linux Kernel <linux-kernel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <53445EC0.9060707@xxxxxxxxxx>
References: <20140329223109.GA24098@xxxxxxxxxx> <20140330234335.GB16336@dastard> <20140330235717.GO18016@xxxxxxxxxxxxxxxxxx> <20140331004053.GA17603@dastard> <53445EC0.9060707@xxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Tue, Apr 08, 2014 at 04:40:32PM -0400, Sasha Levin wrote:
> On 03/30/2014 08:40 PM, Dave Chinner wrote:
> > On Mon, Mar 31, 2014 at 12:57:17AM +0100, Al Viro wrote:
> >> > On Mon, Mar 31, 2014 at 10:43:35AM +1100, Dave Chinner wrote:
> >>> > > filldir on a directory inode vs page fault on regular file. Known
> >>> > > issue, definitely a false positive. We have to change locking
> >>> > > algorithms to avoid such deficiencies of lockdep (a case of "lockdep
> >>> > > considered harmful", perhaps?) so it's not something I'm about to
> >>> > > rush...
> >> > 
> >> > Give i_lock on directories a separate class, as it's been done for 
> >> > i_mutex...
> > Already done that. Commit:
> > 
> > 93a8614 xfs: fix directory inode iolock lockdep false positive
> 
> Hi Dave,
> 
> The commit above introduces a new lockdep issue for me:

Right, it's fixed one class of false positive which uncovers the
next class of false positive. lockdep gives me the shits at times
because every time we make some obviously correct locking change
to the XFS inodes we then spend the next 3-4 kernel releases chasing
down and annotating locks so that lockdep doesn't throw false
positives everywhere.

It's on my queue of things to fix but, quite frankly, lockdep false
positives are low priority to fix right now.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>