Re: 21 million inodes is causing severe pauses.

From: Robin Holt
Date: Tue Nov 16 2004 - 19:56:49 EST


On Tue, Nov 16, 2004 at 04:33:10PM -0800, Andrew Morton wrote:
> > I have moved lock_kernel() as above in addition to the two patches you pointed
> > to earlier. This has left me with a system which has 21M inodes and undetectable
> > delays during heavy mount/umount activity. I am starting one last test which
> > attempts a umount of a filesystem which has many inodes associated with it.
>
> That sounds good. We need to work out where that null-pointer deref is
> coming from.
>

I had originally used a patch that was in one of our developers trees
which was different from the one in your most recent -mm tree. The patch
I was using had a missing list_del(... i_list); or something like that.
I could dig out the exact line if you want to sanity check me, but I
don't have it handy right now. With the patch in your tree, I have not
seen any NULL pointer dereferences.

> > At this point, I have checked the entire code path and see no reason the
> > BKL is held for the first call to invalidate_inodes.
>
> No, the above change looks fine. And I have no problem merging up
> invalidate_inodes-speedup.patch, really - it's been in -mm for over a year.
> I've just been waiting for a decent reason to merge it.

I would strongly encourage merging the three patches we have talked about
here. I understand you would typically keep my BKL patch in your tree for
awhile and think that would be just fine. The changes only affect systems
that have filesystems being unmounted with a large number of inodes.

With the two patches already in your tree, the pauses are greatly reduced
for the autofs case that originally got me looking.

Thanks,
Robin Holt
-
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/