Messages in this thread | | | Date | Mon, 15 Nov 2004 14:57:14 -0800 | From | Andrew Morton <> | Subject | Re: 21 million inodes is causing severe pauses. |
| |
Robin Holt <holt@sgi.com> wrote: > > One significant problem we are running into is autofs trying to umount the > file systems. This results in the umount grabbing the BKL and inode_lock, > holding it while it scans through the inode_list and others looking for > inodes used by this super block and attempting to free them.
You'll need invalidate_inodes-speedup.patch and break-latency-in-invalidate_list.patch (or an equivalent).
That'll get you most of the way, but the BKL will still be a problem.
Removing lock_kernel() in the umount path is probably a major project so for now, you can just drop and reacquire it by doing release_kernel_lock()/reacquire_kernel_lock() around invalidate_inodes().
(You'll need to use that pair rather than unlock_kernel/lock_kernel because it seems that invalidate_inodes can be called under various depths of lock_kernel()).
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |