From: corbet@lwn.net (Jonathan Corbet)
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ingo Molnar <mingo@elte.hu>,
Andrew Morton <akpm@linux-foundation.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Thomas Gleixner <tglx@linutronix.de>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
Alexander Viro <viro@ftp.linux.org.uk>,
linux-kernel@vger.kernel.org,
Stephen Rothwell <sfr@canb.auug.org.au>
Subject: [PATCH, RFC] Char dev BKL pushdown v2
Date: Sun, 18 May 2008 16:15:08 -0600 [thread overview]
Message-ID: <19845.1211148908@vena.lwn.net> (raw)
OK, since the previous announcement, I've revisited all of the open()
functions which didn't get lock_kernel() calls the first time around.
Alan pointed out that even a completely empty open() might, in fact,
need to acquire the BKL, so now they all do. Hopefully, this completes
this work (at this level - there's plenty of down-pushing to do within
subsystems).
There's a new tree with this stuff:
git://git.lwn.net/linux-2.6.git bkl-removal
Stephen, might it be about time to pull this into linux-next and see
what explodes?
If others have BKL-removal patches which look like 2.6.27 material, I'll
happily collect them in this tree.
Thanks,
jon
P.S. Here's what's in it now:
arch/cris/arch-v10/drivers/eeprom.c | 4 +-
arch/cris/arch-v10/drivers/gpio.c | 3 ++
arch/cris/arch-v10/drivers/i2c.c | 2 +
arch/cris/arch-v10/drivers/sync_serial.c | 34 ++++++++++++++----------
arch/cris/arch-v32/drivers/cryptocop.c | 3 +-
arch/cris/arch-v32/drivers/i2c.c | 2 +
arch/cris/arch-v32/drivers/mach-a3/gpio.c | 4 ++
arch/cris/arch-v32/drivers/mach-fs/gpio.c | 5 ++-
arch/cris/arch-v32/drivers/sync_serial.c | 33 ++++++++++++++---------
arch/mips/kernel/rtlx.c | 7 ++++
arch/mips/kernel/vpe.c | 12 ++++++--
arch/mips/sibyte/common/sb_tbprof.c | 25 ++++++++++++-----
arch/sh/boards/landisk/gio.c | 10 ++++---
arch/x86/kernel/cpuid.c | 25 ++++++++++++-----
arch/x86/kernel/msr.c | 16 ++++++++---
block/bsg.c | 7 ++++
drivers/block/aoe/aoechr.c | 7 ++++
drivers/block/paride/pg.c | 22 +++++++++++----
drivers/block/paride/pt.c | 8 ++++-
drivers/char/cs5535_gpio.c | 2 +
drivers/char/drm/drm_fops.c | 9 ++++--
drivers/char/dsp56k.c | 14 +++++++--
drivers/char/dtlk.c | 3 ++
drivers/char/ip2/ip2main.c | 34 +-----------------------
drivers/char/ipmi/ipmi_devintf.c | 8 ++++-
drivers/char/lp.c | 38 ++++++++++++++++++---------
drivers/char/mbcs.c | 5 +++
drivers/char/mem.c | 10 +++++--
drivers/char/misc.c | 3 ++
drivers/char/pc8736x_gpio.c | 2 +
drivers/char/pcmcia/cm4000_cs.c | 26 +++++++++++++-----
drivers/char/pcmcia/cm4040_cs.c | 23 ++++++++++++----
drivers/char/ppdev.c | 2 +
drivers/char/raw.c | 3 ++
drivers/char/scx200_gpio.c | 2 +
drivers/char/snsc.c | 5 ++-
drivers/char/tb0219.c | 2 +
drivers/char/tlclk.c | 19 ++++++++-----
drivers/char/tty_io.c | 27 +++++++++++++++++--
drivers/char/vc_screen.c | 9 ++++--
drivers/char/viotape.c | 3 ++
drivers/char/vr41xx_giu.c | 2 +
drivers/char/xilinx_hwicap/xilinx_hwicap.c | 6 +++-
drivers/firewire/fw-cdev.c | 16 ++++++++---
drivers/hid/hidraw.c | 3 ++
drivers/i2c/i2c-dev.c | 22 +++++++++++----
drivers/ide/ide-tape.c | 7 ++++
drivers/ieee1394/dv1394.c | 6 +++-
drivers/ieee1394/raw1394.c | 3 ++
drivers/ieee1394/video1394.c | 18 +++++++++---
drivers/infiniband/core/ucm.c | 2 +
drivers/infiniband/core/user_mad.c | 7 ++++
drivers/infiniband/core/uverbs_main.c | 9 ++++--
drivers/infiniband/hw/ipath/ipath_file_ops.c | 2 +
drivers/input/input.c | 16 ++++++++---
drivers/isdn/capi/capi.c | 17 +++++++-----
drivers/isdn/hardware/eicon/divamnt.c | 16 +++++++----
drivers/isdn/hardware/eicon/divasi.c | 2 +
drivers/isdn/hardware/eicon/divasmain.c | 2 +
drivers/isdn/i4l/isdn_common.c | 3 +-
drivers/macintosh/adb.c | 18 +++++++++---
drivers/media/dvb/dvb-core/dvbdev.c | 4 ++
drivers/media/video/videodev.c | 4 ++
drivers/misc/phantom.c | 9 ++++--
drivers/mtd/mtdchar.c | 22 +++++++++++----
drivers/mtd/ubi/cdev.c | 7 ++++
drivers/net/ppp_generic.c | 2 +
drivers/net/wan/cosa.c | 22 +++++++++++----
drivers/pcmcia/pcmcia_ioctl.c | 25 ++++++++++++-----
drivers/rtc/rtc-dev.c | 12 ++++++--
drivers/s390/char/fs3270.c | 23 +++++++++++-----
drivers/s390/char/tape_char.c | 12 ++++++--
drivers/s390/char/vmlogrdr.c | 8 ++++-
drivers/s390/char/vmur.c | 12 ++++++--
drivers/sbus/char/bpp.c | 3 ++
drivers/sbus/char/vfc_dev.c | 5 +++
drivers/scsi/3w-9xxx.c | 3 ++
drivers/scsi/3w-xxxx.c | 3 ++
drivers/scsi/aacraid/linit.c | 3 ++
drivers/scsi/ch.c | 4 ++
drivers/scsi/dpt_i2o.c | 5 +++
drivers/scsi/gdth.c | 3 ++
drivers/scsi/megaraid.c | 5 ++-
drivers/scsi/megaraid/megaraid_sas.c | 2 +
drivers/scsi/osst.c | 15 +++++++++-
drivers/scsi/sg.c | 16 +++++++++--
drivers/scsi/st.c | 11 ++++++-
drivers/spi/spidev.c | 3 ++
drivers/telephony/phonedev.c | 3 ++
drivers/uio/uio.c | 17 ++++++++----
drivers/usb/core/devio.c | 2 +
drivers/usb/core/file.c | 3 ++
drivers/usb/gadget/printer.c | 3 +-
drivers/usb/mon/mon_bin.c | 6 ++++
drivers/video/fbmem.c | 15 +++++++---
fs/char_dev.c | 7 ++--
include/linux/smp_lock.h | 13 +++++++++
sound/core/sound.c | 15 +++++++++-
sound/sound_core.c | 5 +++
99 files changed, 739 insertions(+), 248 deletions(-)
Jonathan Corbet (65):
bsg: cdev lock_kernel() pushdown
cris: cdev lock_kernel() pushdown
mips: cdev lock_kernel() pushdown
sh: cdev lock_kernel() pushdown
x86: cdev lock_kernel() pushdown
i2c: cdev lock_kernel() pushdown
cosa: cdev lock_kernel() pushdown
pcmcia: cdev lock_kernel() pushdown
ieee1394: cdev lock_kernel() pushdown
rtc: cdev lock_kernel() pushdown
drivers/s390: cdev lock_kernel() pushdown
AoE: cdev lock_kernel() pushdown
paride: cdev lock_kernel() pushdown
mtdchar: cdev lock_kernel() pushdown
UBI: cdev lock_kernel() pushdown
firewire: cdev lock_kernel() pushdown
HID: cdev lock_kernel() pushdown
Input: cdev lock_kernel() pushdown
UIO: cdev lock_kernel() pushdown
cm40x0: cdev lock_kernel() pushdown
ipmi: cdev lock_kernel() pushdown
mem: cdev lock_kernel() pushdown
misc: cdev lock_kernel() pushdown
viotape: cdev lock_kernel pushdown ()
mbcs: cdev lock_kernel() pushdown
lp: cdev lock_kernel() pushdown
drm: cdev lock_kernel() pushdown
phonedev: cdev lock_kernel() pushdown
ide-tape: cdev lock_kernel() pushdown
sg: cdev lock_kernel() pushdown
osst: cdev lock_kernel() pushdown.
aacraid: cdev lock_kernel() pushdown
st: cdev lock_kernel() pushdown
gdth: cdev lock_kernel() pushdown
isdn: cdev lock_kernel() pushdown
usbcore: cdev lock_kernel() pushdown
dvb: cdev lock_kernel() pushdown
fbmem: cdev lock_kernel() pushdown
sound: cdev lock_kernel() pushdown
snsc: cdev lock_kernel() pushdown
tty: cdev lock_kernel() pushdown
Add "no BKL needed" comments to several drivers
spidev: BKL pushdown
vcs: BKL pushdown
xilinx icap: BKL pushdown
tlckl: BKL pushdown
raw: BKL pushdown
dsp56k: BKL pushdown
infiniband: more BKL pushdown
phantom: BKL pushdown
bpp: bkl pushdown
videopix: BKL pushdown
dpt_i20: BKL pushdown
changer: BKL pushdown
CAPI: BKL pushdown
divamnt: BKL pushdown
adb: BKL pushdown
printer gadget: BKL pushdown
USB Monitor: BKL pushdown
usbdev: BKL pushdown
videodev: BKL pushdown
Add cycle_kernel_lock()
Add a bunch of cycle_kernel_lock() calls
Add a comment in chrdev_open()
Remove the lock_kernel() call from chrdev_open()
next reply other threads:[~2008-05-18 22:15 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-18 22:15 Jonathan Corbet [this message]
2008-05-19 4:00 ` [PATCH, RFC] Char dev BKL pushdown v2 Roland Dreier
2008-05-19 13:37 ` Jonathan Corbet
2008-05-19 20:38 ` Roland Dreier
2008-05-19 20:42 ` Jonathan Corbet
2008-05-19 22:18 ` Roland Dreier
2008-05-19 22:56 ` Jonathan Corbet
2008-05-20 2:10 ` Jeff Dike
2008-05-20 8:26 ` Alan Cox
2008-05-19 4:03 ` Stephen Rothwell
2008-05-19 13:46 ` Jonathan Corbet
2008-05-19 13:17 ` Ingo Molnar
2008-05-19 17:46 ` Stefan Richter
2008-05-19 19:27 ` Stefan Richter
2008-05-19 20:07 ` Stefan Richter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=19845.1211148908@vena.lwn.net \
--to=corbet@lwn.net \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sfr@canb.auug.org.au \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=viro@ftp.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.