Big Kernel Lock

From RTwiki
(Difference between revisions)
Jump to: navigation, search
(The Big Kernel Lock is gone)
 
Line 1: Line 1:
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.
+
The Big Kernel Lock was the most annoying lock in the kernel. It was introduced to start with the SMP development of Linux more than 10 years ago and finally removed in git commit [http://git.kernel.org/linus/4ba8216cd90560bc402f52076f64d8546e8aefcb 4ba8216c]
  
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.
 
  
(Please refer to this [http://kernelnewbies.org/BigKernelLock page] to see the latest status)
+
See also [http://kernelnewbies.org/BigKernelLock]
 
+
{| class="wikitable"
+
! File(s) !! Developer(s) !! Start Date !! Status !! Remarks
+
|-
+
| fs/reiserfs/* || Frederic || 01/05/2009 || Done || [http://git.kernel.org/?p=linux/kernel/git/frederic/random-tracing.git;a=shortlog;h=refs/heads/reiserfs/kill-bkl 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. ([http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=commit;h=55968ede164ae523692f00717f50cd926f1382a0 Commit], [http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=commit;h=170a0bc3808909d8ea0f3f9c725c6565efe7f9c4 or...])
+
|-
+
| arch/x86/kernel/msr.c || tglx || 08/13/2009 || Done || Leftover from the BKL pushdown. Protects nothing.  ([http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=commit;h=55968ede164ae523692f00717f50cd926f1382a0 Commit], [http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=commit;h=d6c304055b3cecd4ca865769ac7cea97a320727b or...])
+
|-
+
| kernel/pm_qos_params.c || corbet || 08/13/2009 || Done || Leftover from the BKL pushdown. ([http://git.kernel.org/?p=linux/kernel/git/tip/linux-2.6-tip.git;a=commit;h=703304ae2873ef3d01a8cf923d574d0bc900fb49 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 <br /> arch/mips/kernel/linux32.c <br /> arch/parisc/kernel/sys_parisc32.c <br /> arch/powerpc/kernel/sys_ppc32.c <br /> arch/s390/kernel/compat_linux.c <br /> arch/sparc/kernel/sys_sparc32.c <br /> 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 <br/> drivers/char/nvram.c (partially) || Frederic || 10/09/2009 || Done ||
+
|}
+

Latest revision as of 13:01, 17 August 2011

The Big Kernel Lock was the most annoying lock in the kernel. It was introduced to start with the SMP development of Linux more than 10 years ago and finally removed in git commit 4ba8216c


See also [1]

Personal tools