Re: [3.14-rc5 xfs] Lockdep warning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 10, 2014 at 07:55:19PM +0900, Tetsuo Handa wrote:
> I get below lockdep warning as of 1dc3217d on linux.git. I guess the situation
> is same as of v3.14-rc6 because there is no changes in fs/xfs directory between
> 1dc3217d and v3.14-rc6.

False positive.  Lockdep is complaining about having different page
fault lock heirarchies for regular files versus directories. It's
too stupid to understand that the directory and regular inodes have
differnet lock classes and so therefore this:

> [   96.098894]  Possible unsafe locking scenario:
> 
> [   96.099795]        CPU0                    CPU1
> [   96.100234]        ----                    ----
> [   96.100666]   lock(&(&ip->i_lock)->mr_lock);
> [   96.101158]                                lock(&mm->mmap_sem);
> [   96.101597]                                lock(&(&ip->i_lock)->mr_lock);
> [   96.102030]   lock(&mm->mmap_sem);

is impossible, because what it really is:

	CPU0			CPU1
	ilock (IS_DIR)
				lock(mmap_sem)
				ilock(IS_REG)
	lock(mmap_sem)

cannot deadlock because there two different inode locks involved
here.

So, to shut lockdep up, we've got to fundamentally alter the locking
strategy. The current code is not broken, but we've now got to jump
throw complex hoops to make the locking validator understand that
it's not broken. This is a great example of how lockdep can be
considered harmful....

Solutions being discussed in this thread:

http://oss.sgi.com/pipermail/xfs/2014-March/034815.html

> Also, the culprit commits were already backported to
> RHEL7 beta somewhere between 3.10.0-90.el7 and 3.10.0-97.el7 .

That should already be sorted out. :)

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux