diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-09-11 20:00:57 +0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2010-10-21 17:44:13 +0400 |
commit | 6de5bd128d381ad88ac6d419a5e597048eb468cf (patch) | |
tree | 7b3a0440f645c6e98367a87b1ca0ed1e0df204dd /include/linux/smp_lock.h | |
parent | 7ff52efdca367d4bfe2449bd3d4a1f8172c5953a (diff) | |
download | linux-6de5bd128d381ad88ac6d419a5e597048eb468cf.tar.xz |
BKL: introduce CONFIG_BKL.
With all the patches we have queued in the BKL removal tree, only a
few dozen modules are left that actually rely on the BKL, and even
there are lots of low-hanging fruit. We need to decide what to do
about them, this patch illustrates one of the options:
Every user of the BKL is marked as 'depends on BKL' in Kconfig,
and the CONFIG_BKL becomes a user-visible option. If it gets
disabled, no BKL using module can be built any more and the BKL
code itself is compiled out.
The one exception is file locking, which is practically always
enabled and does a 'select BKL' instead. This effectively forces
CONFIG_BKL to be enabled until we have solved the fs/lockd
mess and can apply the patch that removes the BKL from fs/locks.c.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/smp_lock.h')
-rw-r--r-- | include/linux/smp_lock.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/smp_lock.h b/include/linux/smp_lock.h index 2ea1dd1ba21c..291f721144c2 100644 --- a/include/linux/smp_lock.h +++ b/include/linux/smp_lock.h @@ -54,12 +54,15 @@ static inline void cycle_kernel_lock(void) #else +#ifdef CONFIG_BKL /* provoke build bug if not set */ #define lock_kernel() #define unlock_kernel() -#define release_kernel_lock(task) do { } while(0) #define cycle_kernel_lock() do { } while(0) -#define reacquire_kernel_lock(task) 0 #define kernel_locked() 1 +#endif /* CONFIG_BKL */ + +#define release_kernel_lock(task) do { } while(0) +#define reacquire_kernel_lock(task) 0 #endif /* CONFIG_LOCK_KERNEL */ #endif /* __LINUX_SMPLOCK_H */ |