* [PATCH 00/18] Make the big kernel lock optional @ 2010-09-14 19:34 Arnd Bergmann 2010-09-14 19:34 ` [PATCH 05/18] alpha: kill big kernel lock Arnd Bergmann 2010-09-15 9:37 ` [PATCH 00/18] Make the big kernel lock optional Stephen Rothwell 0 siblings, 2 replies; 6+ messages in thread From: Arnd Bergmann @ 2010-09-14 19:34 UTC (permalink / raw) To: arnd Cc: linux-sh, Roman Zippel, linux-pci, Heiko Carstens, Bob Picco, Jaroslav Kysela, Stephen Rothwell, Jesper Nilsson, Mark Gross, Helge Deller, James E.J. Bottomley, Geert Uytterhoeven, Matt Turner, linux-media, user-mode-linux-devel, linux-s390, Clemens Ladisch, Jeff Dike, Mauro Carvalho Chehab, Mikael Starvik, Tejun Heo, linux-m68k, Ivan Kokshaysky, Jesse Barnes, Thomas This is a set of simple patches to remove the big kernel lock in some remaining areas and introduce a Kconfig option which I'd like to have included in linux-next and get included in the 2.6.37 merge window. I have a total of five topic branches, which together remove the BKL from all code except those modules which get marked as 'depends on BKL' in the final patch of this series. It's fine if maintainers want to add some of these patches to their own queue, as long as they all make it into linux-next. Stephen, please add git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arnd/bkl.git config Arnd Bergmann (17): hpet: kill BKL, add compat_ioctl proc/pci: kill BKL s390/block: kill the big kernel lock isapnp: BKL removal alpha: kill big kernel lock cris: autoconvert trivial BKL users m68k: remove big kernel lock parisc: remove big kernel lock sh: kill big kernel lock uml: kill big kernel lock tlclk: remove big kernel lock i4l: kill big kernel lock misdn: kill big kernel lock dvb/bt8xx: kill the big kernel lock dvb-core: kill the big kernel lock rtmutex-tester: make it build without BKL BKL: introduce CONFIG_BKL. Al Viro (1): fix rawctl compat ioctls breakage on amd64 and itanic arch/alpha/kernel/osf_sys.c | 5 - arch/alpha/kernel/traps.c | 3 - arch/cris/arch-v10/drivers/ds1302.c | 7 +- arch/cris/arch-v10/drivers/pcf8563.c | 6 +- arch/cris/arch-v10/drivers/sync_serial.c | 11 +- arch/cris/arch-v32/drivers/cryptocop.c | 4 +- arch/cris/arch-v32/drivers/mach-a3/gpio.c | 11 +- arch/cris/arch-v32/drivers/mach-fs/gpio.c | 11 +- arch/cris/arch-v32/drivers/pcf8563.c | 6 +- arch/cris/arch-v32/drivers/sync_serial.c | 11 +- arch/m68k/kernel/sys_m68k.c | 7 +- arch/parisc/kernel/perf.c | 4 - arch/sh/kernel/ptrace_64.c | 9 +- arch/um/drivers/harddog_kern.c | 13 +- arch/um/drivers/hostaudio_kern.c | 8 +- arch/um/drivers/ubd_kern.c | 8 +- arch/um/kernel/exec.c | 2 - drivers/char/hpet.c | 98 +++++++---- drivers/char/raw.c | 243 +++++++++++++++----------- drivers/char/tlclk.c | 6 +- drivers/gpu/drm/Kconfig | 5 +- drivers/isdn/capi/Kconfig | 2 +- drivers/isdn/i4l/isdn_tty.c | 11 +- drivers/isdn/mISDN/stack.c | 7 - drivers/media/Kconfig | 1 + drivers/media/dvb/bt8xx/dst_ca.c | 7 +- drivers/media/dvb/dvb-core/dmxdev.c | 17 +-- drivers/media/dvb/dvb-core/dvb_ca_en50221.c | 8 +- drivers/media/dvb/dvb-core/dvb_net.c | 9 +- drivers/media/dvb/dvb-core/dvbdev.c | 17 +- drivers/net/appletalk/Kconfig | 1 + drivers/pci/proc.c | 4 +- drivers/pnp/isapnp/proc.c | 13 +- drivers/s390/block/dasd.c | 6 - drivers/s390/block/dasd_ioctl.c | 17 +-- drivers/s390/block/dcssblk.c | 5 - drivers/staging/cx25821/Kconfig | 1 + drivers/staging/easycap/Kconfig | 1 + drivers/staging/go7007/Kconfig | 1 + drivers/staging/usbip/Kconfig | 2 +- drivers/usb/gadget/Kconfig | 2 +- fs/Kconfig | 1 + fs/adfs/Kconfig | 1 + fs/afs/Kconfig | 1 + fs/autofs/Kconfig | 1 + fs/autofs4/Kconfig | 1 + fs/ceph/Kconfig | 1 + fs/coda/Kconfig | 1 + fs/compat_ioctl.c | 70 -------- fs/ecryptfs/Kconfig | 1 + fs/freevxfs/Kconfig | 1 + fs/hpfs/Kconfig | 1 + fs/jffs2/Kconfig | 1 + fs/ncpfs/Kconfig | 1 + fs/nfs/Kconfig | 1 + fs/nfsd/Kconfig | 1 + fs/ocfs2/Kconfig | 1 + fs/qnx4/Kconfig | 1 + fs/reiserfs/Kconfig | 1 + fs/smbfs/Kconfig | 1 + fs/squashfs/Kconfig | 1 + fs/udf/Kconfig | 1 + fs/ufs/Kconfig | 1 + include/linux/smp_lock.h | 7 +- init/Kconfig | 2 +- kernel/rtmutex-tester.c | 6 + kernel/trace/Kconfig | 1 + lib/Kconfig.debug | 9 + net/ipx/Kconfig | 1 + net/irda/Kconfig | 1 + net/irda/irnet/Kconfig | 1 + net/x25/Kconfig | 1 + 72 files changed, 355 insertions(+), 375 deletions(-) Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Arjan van de Ven <arjan@linux.intel.com> Cc: Bob Picco <bob.picco@hp.com> Cc: Clemens Ladisch <clemens@ladisch.de> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Helge Deller <deller@gmx.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: Jaroslav Kysela <perex@perex.cz> Cc: Jeff Dike <jdike@addtoit.com> Cc: Jesper Nilsson <jesper.nilsson@axis.com> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Karsten Keil <isdn@linux-pingi.de> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mark Gross <mark.gross@intel.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Matt Turner <mattst88@gmail.com> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: Mikael Starvik <starvik@axis.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Richard Henderson <rth@twiddle.net> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Tejun Heo <tj@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-alpha@vger.kernel.org Cc: linux-cris-kernel@axis.com Cc: linux-m68k@lists.linux-m68k.org Cc: linux-media@vger.kernel.org Cc: linux-parisc@vger.kernel.org Cc: linux-pci@vger.kernel.org Cc: linux-s390@vger.kernel.org Cc: linux-sh@vger.kernel.org Cc: netdev@vger.kernel.org Cc: user-mode-linux-devel@lists.sourceforge.net ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 05/18] alpha: kill big kernel lock 2010-09-14 19:34 [PATCH 00/18] Make the big kernel lock optional Arnd Bergmann @ 2010-09-14 19:34 ` Arnd Bergmann 2010-09-14 19:41 ` Matt Turner 2010-09-15 9:37 ` [PATCH 00/18] Make the big kernel lock optional Stephen Rothwell 1 sibling, 1 reply; 6+ messages in thread From: Arnd Bergmann @ 2010-09-14 19:34 UTC (permalink / raw) To: arnd; +Cc: Richard Henderson, Ivan Kokshaysky, Matt Turner, linux-alpha All uses of the BKL on alpha are totally bogus, nothing is really protected by this. Remove the remaining users so we don't have to mark alpha as 'depends on BKL'. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Matt Turner <mattst88@gmail.com> Cc: linux-alpha@vger.kernel.org --- arch/alpha/kernel/osf_sys.c | 5 ----- arch/alpha/kernel/traps.c | 3 --- 2 files changed, 0 insertions(+), 8 deletions(-) diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index 5d1e6d6..49225dd 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c @@ -15,7 +15,6 @@ #include <linux/kernel.h> #include <linux/mm.h> #include <linux/smp.h> -#include <linux/smp_lock.h> #include <linux/stddef.h> #include <linux/syscalls.h> #include <linux/unistd.h> @@ -69,7 +68,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start, { struct mm_struct *mm; - lock_kernel(); mm = current->mm; mm->end_code = bss_start + bss_len; mm->start_brk = bss_start + bss_len; @@ -78,7 +76,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start, printk("set_program_attributes(%lx %lx %lx %lx)\n", text_start, text_len, bss_start, bss_len); #endif - unlock_kernel(); return 0; } @@ -517,7 +514,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code, long error; int __user *min_buf_size_ptr; - lock_kernel(); switch (code) { case PL_SET: if (get_user(error, &args->set.nbytes)) @@ -547,7 +543,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code, error = -EOPNOTSUPP; break; }; - unlock_kernel(); return error; } diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c index b14f015..0414e02 100644 --- a/arch/alpha/kernel/traps.c +++ b/arch/alpha/kernel/traps.c @@ -13,7 +13,6 @@ #include <linux/sched.h> #include <linux/tty.h> #include <linux/delay.h> -#include <linux/smp_lock.h> #include <linux/module.h> #include <linux/init.h> #include <linux/kallsyms.h> @@ -623,7 +622,6 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg, return; } - lock_kernel(); printk("Bad unaligned kernel access at %016lx: %p %lx %lu\n", pc, va, opcode, reg); do_exit(SIGSEGV); @@ -646,7 +644,6 @@ got_exception: * Yikes! No one to forward the exception to. * Since the registers are in a weird format, dump them ourselves. */ - lock_kernel(); printk("%s(%d): unhandled unaligned exception\n", current->comm, task_pid_nr(current)); -- 1.7.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 05/18] alpha: kill big kernel lock 2010-09-14 19:34 ` [PATCH 05/18] alpha: kill big kernel lock Arnd Bergmann @ 2010-09-14 19:41 ` Matt Turner 2010-09-14 20:07 ` Arnd Bergmann 0 siblings, 1 reply; 6+ messages in thread From: Matt Turner @ 2010-09-14 19:41 UTC (permalink / raw) To: Arnd Bergmann; +Cc: Richard Henderson, Ivan Kokshaysky, linux-alpha On Tue, Sep 14, 2010 at 3:34 PM, Arnd Bergmann <arnd@arndb.de> wrote: > All uses of the BKL on alpha are totally bogus, nothing > is really protected by this. Remove the remaining users > so we don't have to mark alpha as 'depends on BKL'. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Cc: Richard Henderson <rth@twiddle.net> > Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> > Cc: Matt Turner <mattst88@gmail.com> > Cc: linux-alpha@vger.kernel.org > --- > arch/alpha/kernel/osf_sys.c | 5 ----- > arch/alpha/kernel/traps.c | 3 --- > 2 files changed, 0 insertions(+), 8 deletions(-) > > diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c > index 5d1e6d6..49225dd 100644 > --- a/arch/alpha/kernel/osf_sys.c > +++ b/arch/alpha/kernel/osf_sys.c > @@ -15,7 +15,6 @@ > #include <linux/kernel.h> > #include <linux/mm.h> > #include <linux/smp.h> > -#include <linux/smp_lock.h> > #include <linux/stddef.h> > #include <linux/syscalls.h> > #include <linux/unistd.h> > @@ -69,7 +68,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start, > { > struct mm_struct *mm; > > - lock_kernel(); > mm = current->mm; > mm->end_code = bss_start + bss_len; > mm->start_brk = bss_start + bss_len; > @@ -78,7 +76,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start, > printk("set_program_attributes(%lx %lx %lx %lx)\n", > text_start, text_len, bss_start, bss_len); > #endif > - unlock_kernel(); > return 0; > } > > @@ -517,7 +514,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code, > long error; > int __user *min_buf_size_ptr; > > - lock_kernel(); > switch (code) { > case PL_SET: > if (get_user(error, &args->set.nbytes)) > @@ -547,7 +543,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code, > error = -EOPNOTSUPP; > break; > }; > - unlock_kernel(); > return error; > } > > diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c > index b14f015..0414e02 100644 > --- a/arch/alpha/kernel/traps.c > +++ b/arch/alpha/kernel/traps.c > @@ -13,7 +13,6 @@ > #include <linux/sched.h> > #include <linux/tty.h> > #include <linux/delay.h> > -#include <linux/smp_lock.h> > #include <linux/module.h> > #include <linux/init.h> > #include <linux/kallsyms.h> > @@ -623,7 +622,6 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg, > return; > } > > - lock_kernel(); > printk("Bad unaligned kernel access at %016lx: %p %lx %lu\n", > pc, va, opcode, reg); > do_exit(SIGSEGV); > @@ -646,7 +644,6 @@ got_exception: > * Yikes! No one to forward the exception to. > * Since the registers are in a weird format, dump them ourselves. > */ > - lock_kernel(); > > printk("%s(%d): unhandled unaligned exception\n", > current->comm, task_pid_nr(current)); > -- > 1.7.1 I can apply this without any other patches in the series, since the usage is bogus, right? Thanks, Matt -- To unsubscribe from this list: send the line "unsubscribe linux-alpha" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 05/18] alpha: kill big kernel lock 2010-09-14 19:41 ` Matt Turner @ 2010-09-14 20:07 ` Arnd Bergmann 2010-09-14 20:12 ` Matt Turner 0 siblings, 1 reply; 6+ messages in thread From: Arnd Bergmann @ 2010-09-14 20:07 UTC (permalink / raw) To: Matt Turner; +Cc: Richard Henderson, Ivan Kokshaysky, linux-alpha On Tuesday 14 September 2010 21:41:01 Matt Turner wrote: > I can apply this without any other patches in the series, since the > usage is bogus, right? Yes, definitely. Arnd ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 05/18] alpha: kill big kernel lock 2010-09-14 20:07 ` Arnd Bergmann @ 2010-09-14 20:12 ` Matt Turner 0 siblings, 0 replies; 6+ messages in thread From: Matt Turner @ 2010-09-14 20:12 UTC (permalink / raw) To: Arnd Bergmann; +Cc: Richard Henderson, Ivan Kokshaysky, linux-alpha On Tue, Sep 14, 2010 at 4:07 PM, Arnd Bergmann <arnd@arndb.de> wrote: > On Tuesday 14 September 2010 21:41:01 Matt Turner wrote: >> I can apply this without any other patches in the series, since the >> usage is bogus, right? > > Yes, definitely. > > Arnd Will do so then. Thanks for the patch! -- To unsubscribe from this list: send the line "unsubscribe linux-alpha" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 00/18] Make the big kernel lock optional 2010-09-14 19:34 [PATCH 00/18] Make the big kernel lock optional Arnd Bergmann 2010-09-14 19:34 ` [PATCH 05/18] alpha: kill big kernel lock Arnd Bergmann @ 2010-09-15 9:37 ` Stephen Rothwell 1 sibling, 0 replies; 6+ messages in thread From: Stephen Rothwell @ 2010-09-15 9:37 UTC (permalink / raw) To: Arnd Bergmann Cc: Matt, linux-sh, Roman Zippel, linux-pci, Heiko Carstens, Picco, Jaroslav Kysela, netdev, Thomas Gleixner, linux-s390, Jesper Nilsson, Mark Gross, Helge Deller, James E.J. Bottomley, Uytterhoeven, Karsten, Geert, Ingo Molnar, linux-media, user-mode-linux-devel, Clemens Ladisch, Jeff Dike, Mauro Carvalho Chehab, Mikael Starvik, Tejun Heo, linux-m68k, Ivan Kokshaysky, Jesse Barnes [-- Attachment #1.1: Type: text/plain, Size: 1739 bytes --] On Tue, 14 Sep 2010 21:34:51 +0200 Arnd Bergmann <arnd@arndb.de> wrote: > > Stephen, please add > git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arnd/bkl.git config Added from today. Thanks for adding your subsystem tree as a participant of linux-next. As you may know, this is not a judgment of your code. The purpose of linux-next is for integration testing and to lower the impact of conflicts between subsystems in the next merge window. You will need to ensure that the patches/commits in your tree/series have been: * submitted under GPL v2 (or later) and include the Contributor's Signed-off-by, * posted to the relevant mailing list, * reviewed by you (or another maintainer of your subsystem tree), * successfully unit tested, and * destined for the current or next Linux merge window. Basically, this should be just what you would send to Linus (or ask him to fetch). It is allowed to be rebased if you deem it necessary. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au Legal Stuff: By participating in linux-next, your subsystem tree contributions are public and will be included in the linux-next trees. You may be sent e-mail messages indicating errors or other issues when the patches/commits from your subsystem tree are merged and tested in linux-next. These messages may also be cross-posted to the linux-next mailing list, the linux-kernel mailing list, etc. The linux-next tree project and IBM (my employer) make no warranties regarding the linux-next project, the testing procedures, the results, the e-mails, etc. If you don't agree to these ground rules, let me know and I'll remove your tree from participation in linux-next. [-- Attachment #1.2: Type: application/pgp-signature, Size: 490 bytes --] [-- Attachment #2: Type: text/plain, Size: 276 bytes --] ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev [-- Attachment #3: Type: text/plain, Size: 194 bytes --] _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-09-15 9:37 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-09-14 19:34 [PATCH 00/18] Make the big kernel lock optional Arnd Bergmann 2010-09-14 19:34 ` [PATCH 05/18] alpha: kill big kernel lock Arnd Bergmann 2010-09-14 19:41 ` Matt Turner 2010-09-14 20:07 ` Arnd Bergmann 2010-09-14 20:12 ` Matt Turner 2010-09-15 9:37 ` [PATCH 00/18] Make the big kernel lock optional Stephen Rothwell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox