Big Kernel Lock

From RTwiki
Revision as of 08:27, 10 October 2009 by Fweisbec (Talk | contribs)

Jump to: navigation, search

The Big Kernel Lock is the most annoying lock in the kernel. It was introduced to start with the SMP development of Linux more than 10 years ago. We still have users which rely on it. There has been some effort to push the BKL locking down into the files which (still) expect to be protected by it for whatever reason. This makes it easier to replace it by local locking.

Some effort to remove the BKL locking in various places has already happened. The most prominent work is the removal of the BKL from reiserfs by Frederic Weisbecker. Please add the file(s) you are working on to that page to avoid duplicate effort.

File(s) Developer(s) Start Date Status Remarks
fs/reiserfs/* Frederic 01/05/2009 Done git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing.git reiserfs/kill-bkl
drivers/char/tty_io.c Frederic 08/01/2009 Pending
arch/x86/kernel/cpuid.c tglx 08/13/2009 Done Leftover from the BKL pushdown. Protects nothing. (Commit, or...)
arch/x86/kernel/msr.c tglx 08/13/2009 Done Leftover from the BKL pushdown. Protects nothing. (Commit, or...)
kernel/pm_qos_params.c corbet 08/13/2009 Done Leftover from the BKL pushdown. (Commit)
fs/squashfs/* tglx 08/14/2009 Pending Leftover from the BKL pushdown.
fs/ubifs/* tglx 08/14/2009 Pending Leftover from the BKL pushdown.
drivers/char/hpet.c tglx 08/14/2009 Pending Leftover from the BKL pushdown.
arch/ia64/ia32/sys_ia32.c
arch/mips/kernel/linux32.c
arch/parisc/kernel/sys_parisc32.c
arch/powerpc/kernel/sys_ppc32.c
arch/s390/kernel/compat_linux.c
arch/sparc/kernel/sys_sparc32.c
arch/x86/ia32/sys_ia32.c
tglx 08/14/2009 Pending Push the BKL into do_sysctl() which leaves us to deal with it in kernel/sysctl.c only.
drivers/spi/spidev.c tglx 08/14/2009 Pending Leftover from the BKL pushdown.
drivers/char/mem.c Frederic 10/09/2009 Done
drivers/char/generic_nvram.c
drivers/char/nvram.c (partially)
Frederic 10/09/2009 Done
Personal tools