Re: ext3 lockdep warning in 2.6.25-rc6

From: David Chinner
Date: Thu Apr 03 2008 - 23:15:07 EST


On Wed, Apr 02, 2008 at 10:12:15AM +0200, Jan Kara wrote:
> On Tue 01-04-08 17:23:34, Erez Zadok wrote:
> <snip>
<snip>
> > Jan, I'll be happy to test this, but I don't understand two things about
> > this patch:
> >
> > 1. Is it safe to unlock and re-lock inode_lock temporarily within the loop?
> >
> > 2. What's the motivation behind having the second toput_inode pointer? It
> > appears that the first iteration through the loop, toput_inode will be
> > NULL, so we'll be iput'ing a NULL pointer (which is ok). So you're
> > trying to iput the previous inode pointer that the list iterated over,
> > right? Is that intended?
> I'll try to explain the locking here:
> 1) We are not allowed to call into __invalidate_mapping_pages() with
> inode_lock held - that it the bug lockdep is complaining about. Moreover it
> leads to rather long waiting times for inode_lock (quite possibly several
> seconds).

When you have tens of millions of cached inodes, it can take somewhat
longer than a few seconds.... :/

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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/