lkml.org 
[lkml]   [2004]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
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/

\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.039 / U:0.848 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site