[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20080121025510.GY155259@sgi.com>
Date: Mon, 21 Jan 2008 13:55:10 +1100
From: David Chinner <dgc@....com>
To: Christian Kujau <lists@...dbynature.de>
Cc: xfs@....sgi.com, LKML <linux-kernel@...r.kernel.org>,
peterz@...radead.org, mingo@...hat.com
Subject: Re: 2.6.24-rc8: possible circular locking dependency detected
On Fri, Jan 18, 2008 at 10:45:17PM +0100, Christian Kujau wrote:
> Hi,
>
> just FYI, upgrading to -rc8 gave the following messages in kern.log in
> the morning hours, when the backups were run:
>
> =======================================================
> [ INFO: possible circular locking dependency detected ]
> 2.6.24-rc8 #2
> -------------------------------------------------------
> rsync/23295 is trying to acquire lock:
> (iprune_mutex){--..}, at: [<c017a552>] shrink_icache_memory+0x72/0x220
>
> but task is already holding lock:
> (&(&ip->i_iolock)->mr_lock){----}, at: [<c0275056>] xfs_ilock+0x96/0xb0
>
> which lock already depends on the new lock.
memory reclaim can occur when an inode lock is held,
causing i_iolock -> iprune_mutex to occur. This is quite
common.
During reclaim, while holding iprune_mutex, we lock a
different inode to complete the cleaning up of it,
resulting in iprune_mutex -> i_iolock.
At this point, lockdep gets upset and blats out a warning.
But, there's no problem here as it is always safe for us
to take the i_iolock in inode reclaim because it can never
be the same as the i_iolock that we've taken prior to memory
reclaim being entered. Therefore false positive.
Lockdep folk - we really need an annotation to prevent this false
positive from being reported because we are getting reports at
least once a week....
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists