Re: INFO: task mount:11202 blocked for more than 120 seconds

David Chinner
2008-03-16T20:34:16Z

On Sat, Mar 15, 2008 at 12:58:02AM +0100, Christian Kujau wrote:
> On Fri, 14 Mar 2008, Milan Broz wrote:
> >Yes, there is bug in dm-crypt...
> >Please try if the patch here helps: http://lkml.org/lkml/2008/3/14/71
>
> Hm, it seems to help the hangs, yes. Applied to today's -git a few hours
> ago, the hangs are gone. However, when doing lots of disk I/O, the machine
> locks up after a few (10-20) minutes. Sadly, netconsole got nothing :(
>
> After the first lockup I tried again and shortly after bootup I got:

False positive. Memory reclaim can inverts the order of iprune_mutex and
the normal inode locking orders. i.e. Both of these are possible:

do_something()
enter memory reclaim
iprune_mutex
inode lock

or
do_something()
inode lock
do_something_else
enter memory reclaim
iprune_mutex
inode lock on different inode

So depending on what is seen first (in this case the first), the second
will trip lockdep. Neither are a deadlock, because the inode lock
held before memory reclaim is a referenced inode and will *never* be
on the free list for memory reclaim to deadlock on....

Cheers,

Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group