summaryrefslogtreecommitdiffstats
path: root/fs/ufs/Kconfig
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2011-01-24 10:14:12 +0100
committerArnd Bergmann <arnd@arndb.de>2011-03-02 22:27:48 +0100
commit788257d6101d986ac8f2741aaa35974af47f574c (patch)
tree332d877e09d8b5de6a4bdfba8111dd04e84a722b /fs/ufs/Kconfig
parent9a311b96c3065f362e3348cb5d7af1a57ca6bff9 (diff)
downloadlinux-788257d6101d986ac8f2741aaa35974af47f574c.tar.gz
linux-788257d6101d986ac8f2741aaa35974af47f574c.tar.bz2
linux-788257d6101d986ac8f2741aaa35974af47f574c.zip
ufs: remove the BKL
This introduces a new per-superblock mutex in UFS to replace the big kernel lock. I have been careful to avoid nested calls to lock_ufs and to get the lock order right with respect to other mutexes, in particular lock_super. I did not make any attempt to prove that the big kernel lock is not needed in a particular place in the code, which is very possible. The mutex has a significant performance impact, so it is only used on SMP or PREEMPT configurations. As Nick Piggin noticed, any allocation inside of the lock may end up deadlocking when we get to ufs_getfrag_block in the reclaim task, so we now use GFP_NOFS. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Nick Bowler <nbowler@elliptictech.com> Cc: Evgeniy Dushistov <dushistov@mail.ru> Cc: Nick Piggin <npiggin@gmail.com>
Diffstat (limited to 'fs/ufs/Kconfig')
-rw-r--r--fs/ufs/Kconfig1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/ufs/Kconfig b/fs/ufs/Kconfig
index 30c8f223253d..e4f10a40768a 100644
--- a/fs/ufs/Kconfig
+++ b/fs/ufs/Kconfig
@@ -1,7 +1,6 @@
config UFS_FS
tristate "UFS file system support (read only)"
depends on BLOCK
- depends on BKL # probably fixable
help
BSD and derivate versions of Unix (such as SunOS, FreeBSD, NetBSD,
OpenBSD and NeXTstep) use a file system called UFS. Some System V