Messages in this thread Patch in this message | | | Date | Tue, 16 Nov 2004 14:45:07 -0600 | From | Robin Holt <> | Subject | [PATCH] Hold BKL for shorter period in generic_shutdown_super(). |
| |
Testing revealed long pauses of the entire system while autofs initiated umounts as a result of timing out the mounts.
It was noticed that during a umount, the BKL is held while scanning the inode_list and removing and inodes that are candidates. This patch moves locking until after the first pass had gone through the inode_list.
Testing revelead that on an ia64 machine with a filesystem that had 8.4 Million inodes, there were no observable pauses during the umount. This was down from over 4 seconds without this patch.
Signed-Off-By: Robin Holt <holt@sgi.com>
Index: linux/fs/super.c =================================================================== --- linux.orig/fs/super.c 2004-11-16 14:41:37.213825056 -0600 +++ linux/fs/super.c 2004-11-16 14:41:49.027032016 -0600 @@ -233,10 +233,10 @@ dput(root); fsync_super(sb); lock_super(sb); - lock_kernel(); sb->s_flags &= ~MS_ACTIVE; /* bad name - it should be evict_inodes() */ invalidate_inodes(sb); + lock_kernel();
if (sop->write_super && sb->s_dirt) sop->write_super(sb); - 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/
| |