]>
git.karo-electronics.de Git - linux-beck.git/log
Jonathan Corbet [Thu, 29 May 2008 23:14:05 +0000 (17:14 -0600)]
Make FAT users happier by not deadlocking
The FAT BKL removal patch can cause deadlocks. It turns out that the new
lock_super() calls are unneeded, remove them (as directed by Linus).
Reported-by: "Tony Luck" <tony.luck@intel.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Arnd Bergmann [Tue, 20 May 2008 17:17:02 +0000 (19:17 +0200)]
x86-mce: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:17:01 +0000 (19:17 +0200)]
vmwatchdog: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:59 +0000 (19:16 +0200)]
vmcp: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:58 +0000 (19:16 +0200)]
via-pmu: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:57 +0000 (19:16 +0200)]
uml-random: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:56 +0000 (19:16 +0200)]
uml-mmapper: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:54 +0000 (19:16 +0200)]
uml-harddog: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:53 +0000 (19:16 +0200)]
uinput: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:52 +0000 (19:16 +0200)]
uctrl: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:51 +0000 (19:16 +0200)]
tpm-tpm: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:50 +0000 (19:16 +0200)]
sparc64-rtc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:48 +0000 (19:16 +0200)]
sparc-apc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:46 +0000 (19:16 +0200)]
sonypi: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:45 +0000 (19:16 +0200)]
sony-laptop: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:43 +0000 (19:16 +0200)]
serio: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:42 +0000 (19:16 +0200)]
scsi-tgt: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:40 +0000 (19:16 +0200)]
sbus-rtc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:39 +0000 (19:16 +0200)]
rtc-rtc-m41t80: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:37 +0000 (19:16 +0200)]
rtc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:35 +0000 (19:16 +0200)]
riowatchdog: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:33 +0000 (19:16 +0200)]
pm_qos_params: BKL pushdown
[jmc: added <linux/smp_lock.h>]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Arnd Bergmann [Tue, 20 May 2008 17:16:31 +0000 (19:16 +0200)]
parisc-kernel-perf: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:30 +0000 (19:16 +0200)]
parisc-eisa_eeprom: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:29 +0000 (19:16 +0200)]
openprom: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:28 +0000 (19:16 +0200)]
ocfs2-stack_user: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:26 +0000 (19:16 +0200)]
nvram: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:24 +0000 (19:16 +0200)]
net-tun: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:23 +0000 (19:16 +0200)]
mwave-mwavedd: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:22 +0000 (19:16 +0200)]
mvme16x-rtc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:20 +0000 (19:16 +0200)]
mousedev: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:18 +0000 (19:16 +0200)]
monwriter: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:17 +0000 (19:16 +0200)]
monreader: BKL pushdown
[jmc: added <linux/smp_lock.h>]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Arnd Bergmann [Tue, 20 May 2008 17:16:16 +0000 (19:16 +0200)]
microcode: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:14 +0000 (19:16 +0200)]
message-i2o-i2o_config: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:13 +0000 (19:16 +0200)]
megaraid: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:12 +0000 (19:16 +0200)]
media-radio-miropcm20-rds: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:11 +0000 (19:16 +0200)]
macintosh-smu: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:10 +0000 (19:16 +0200)]
lcd: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:08 +0000 (19:16 +0200)]
jsflash: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:06 +0000 (19:16 +0200)]
irnet_ppp: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:04 +0000 (19:16 +0200)]
ipmi-watchdog: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:03 +0000 (19:16 +0200)]
ip27-rtc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:02 +0000 (19:16 +0200)]
infiniband-ucma: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:16:00 +0000 (19:16 +0200)]
hw-random: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:59 +0000 (19:15 +0200)]
hpet: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:58 +0000 (19:15 +0200)]
hp_sdc_rtc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:57 +0000 (19:15 +0200)]
hdpu_cpustate: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:55 +0000 (19:15 +0200)]
genrtc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:54 +0000 (19:15 +0200)]
flash: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:53 +0000 (19:15 +0200)]
envctrl: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:52 +0000 (19:15 +0200)]
efirtc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:50 +0000 (19:15 +0200)]
ds1620: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:49 +0000 (19:15 +0200)]
ds1286: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:48 +0000 (19:15 +0200)]
dlm-user: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:47 +0000 (19:15 +0200)]
display7seg: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:46 +0000 (19:15 +0200)]
crypto-zcrypt_api: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:45 +0000 (19:15 +0200)]
crypto-prng: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:43 +0000 (19:15 +0200)]
cpwatchdog: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:42 +0000 (19:15 +0200)]
bvme6000-rtc: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:41 +0000 (19:15 +0200)]
briq_panel: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:40 +0000 (19:15 +0200)]
bluetooth-vhci: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:38 +0000 (19:15 +0200)]
block-dasd_eer: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:37 +0000 (19:15 +0200)]
bf561-coreb: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:36 +0000 (19:15 +0200)]
basler-excite: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:34 +0000 (19:15 +0200)]
apm_32: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:33 +0000 (19:15 +0200)]
apm-emulation: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:32 +0000 (19:15 +0200)]
ans-lcd: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Tue, 20 May 2008 17:15:30 +0000 (19:15 +0200)]
agp-frontend: BKL pushdown
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Linus Torvalds [Tue, 20 May 2008 02:53:01 +0000 (19:53 -0700)]
Replace BKL with superblock lock in fat/msdos/vfat
This replaces the use of the BKL in the FAT family of filesystems with the
existing superblock lock instead.
The code already appears to do mostly proper locking with its own private
spinlocks (and mutexes), but while the BKL could possibly have been
dropped entirely, converting it to use the superblock lock (which is just
a regular mutex) is the conservative thing to do.
As a per-filesystem mutex, it not only won't have any of the possible
latency issues related to the BKL, but the lock is obviously private to
the particular filesystem instance and will thus not cause problems for
entirely unrelated users like the BKL can.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Stephen Rothwell [Mon, 19 May 2008 06:06:52 +0000 (16:06 +1000)]
bkl-removal viotape fixup
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Sun, 18 May 2008 21:40:00 +0000 (15:40 -0600)]
Remove the lock_kernel() call from chrdev_open()
All in-kernel char device open() functions now either have their own
lock_kernel() calls or clearly do not need one.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Sun, 18 May 2008 21:39:11 +0000 (15:39 -0600)]
Add a comment in chrdev_open()
I stared at this code for a while and almost deleted it before
understanding crept into my slow brain. Hopefully this makes life easier
for the next person to happen on it.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Sun, 18 May 2008 21:32:43 +0000 (15:32 -0600)]
Add a bunch of cycle_kernel_lock() calls
All of the open() functions which don't need the BKL on their face may
still depend on its acquisition to serialize opens against driver
initialization. So make those functions acquire then release the BKL to be
on the safe side.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Sun, 18 May 2008 20:27:41 +0000 (14:27 -0600)]
Add cycle_kernel_lock()
A number of driver functions are so obviously trivial that they do not need
the big kernel lock - at least not overtly. It turns out that the
acquisition of the BKL in driver open() functions can perform a sort of
poor-hacker's serialization function, delaying the open operation until the
driver is certain to have completed its initialization. Add a simple
cycle_kernel_lock() function for these cases to make it clear that there is
no need to *hold* the BKL, just to be sure that we can acquire it.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:28:31 +0000 (14:28 -0600)]
videodev: BKL pushdown
Put explicit lock_kernel() calls into videodev_open(). That function
itself seems OK, but one never knows about all the open() functions
provided by underlying video drivers.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:25:20 +0000 (14:25 -0600)]
usbdev: BKL pushdown
Add explicit lock_kernel() calls to usbdev_open()
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:23:31 +0000 (14:23 -0600)]
USB Monitor: BKL pushdown
Add explicit lock_kernel() calls to mon_bin_open()
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:21:30 +0000 (14:21 -0600)]
printer gadget: BKL pushdown
Add explicit lock_kernel() calls to printer_open()
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:19:56 +0000 (14:19 -0600)]
adb: BKL pushdown
Put explicit lock_kernel() calls in adb_open(). The fact that
adb_release() already has them suggests this is necessary.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:17:33 +0000 (14:17 -0600)]
divamnt: BKL pushdown
Put explicit lock_kernel() calls into maint_open().
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:15:33 +0000 (14:15 -0600)]
CAPI: BKL pushdown
Put explicit lock_kernel() calls into capi_open()
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:12:52 +0000 (14:12 -0600)]
changer: BKL pushdown
Add lock_kernel() calls to ch_open(), though the existing locking looks
adequate.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:11:09 +0000 (14:11 -0600)]
dpt_i20: BKL pushdown
Add lock_kernel() calls to adpt_open()
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:08:58 +0000 (14:08 -0600)]
videopix: BKL pushdown
Add explicit lock_kernel() calls to vfc_open().
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:06:45 +0000 (14:06 -0600)]
bpp: bkl pushdown
Put explicit lock_kernel() calls into bpp_open(). It has locking, but I'm
not convinced it won't race with ioctl().
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:03:05 +0000 (14:03 -0600)]
phantom: BKL pushdown
Add explicit lock_kernel calls to phantom_open().
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 20:01:12 +0000 (14:01 -0600)]
infiniband: more BKL pushdown
Be extra-cautious and protect the remaining open() functions.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 19:57:31 +0000 (13:57 -0600)]
dsp56k: BKL pushdown
Put explicit lock_kernel calls into dsp56k_open().
[Stupid missing label error fixed]
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 19:54:46 +0000 (13:54 -0600)]
raw: BKL pushdown
Put explicit lock_kernel() calls into raw_open(), even though the existing
locking looks adequate.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 19:53:00 +0000 (13:53 -0600)]
tlckl: BKL pushdown
Put explicit lock_kernel calls into tlclk_open()
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 19:50:20 +0000 (13:50 -0600)]
xilinx icap: BKL pushdown
Add explicit lock_kernel() calls to hwicap_open() even though the existing
locking looks adequate.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 19:47:50 +0000 (13:47 -0600)]
vcs: BKL pushdown
Add explicit BKL to vcs_open().
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 19:46:14 +0000 (13:46 -0600)]
spidev: BKL pushdown
Add the BKL to spidev_open(), even though the existing locking looks
adequate.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 19:40:30 +0000 (13:40 -0600)]
Add "no BKL needed" comments to several drivers
This documents the fact that somebody looked at the relevant open()
functions and concluded that, due to their trivial nature, no locking was
needed.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Fri, 16 May 2008 15:10:50 +0000 (09:10 -0600)]
tty: cdev lock_kernel() pushdown
Parts of the serial code actually BUG() if we don't do this.
Jonathan Corbet [Thu, 15 May 2008 22:44:14 +0000 (16:44 -0600)]
snsc: cdev lock_kernel() pushdown
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Thu, 15 May 2008 22:39:03 +0000 (16:39 -0600)]
sound: cdev lock_kernel() pushdown
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Thu, 15 May 2008 22:30:36 +0000 (16:30 -0600)]
fbmem: cdev lock_kernel() pushdown
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Jonathan Corbet [Thu, 15 May 2008 22:26:57 +0000 (16:26 -0600)]
dvb: cdev lock_kernel() pushdown
Signed-off-by: Jonathan Corbet <corbet@lwn.net>