linux/drivers/staging
Nick Piggin 2a4419b5b2 fs: fs_struct rwlock to spinlock
fs: fs_struct rwlock to spinlock

struct fs_struct.lock is an rwlock with the read-side used to protect root and
pwd members while taking references to them. Taking a reference to a path
typically requires just 2 atomic ops, so the critical section is very small.
Parallel read-side operations would have cacheline contention on the lock, the
dentry, and the vfsmount cachelines, so the rwlock is unlikely to ever give a
real parallelism increase.

Replace it with a spinlock to avoid one or two atomic operations in typical
path lookup fastpath.

Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2010-08-18 08:35:46 -04:00
..
adis16255
asus_oled
batman-adv
comedi
crystalhd
cx25821
cxt1e1
dream
dt3155v4l
easycap
echo
et131x
frontier
go7007
hv
iio
line6
lirc
memrar
mrst-touchscreen
msm
octeon
otus
panel
phison
pohmelfs fs: fs_struct rwlock to spinlock 2010-08-18 08:35:46 -04:00
quatech_usb2
quickstart
rt2860
rt2870
rtl8187se param: remove unnecessary writable charp 2010-08-11 23:04:27 +09:30
rtl8192e param: remove unnecessary writable charp 2010-08-11 23:04:27 +09:30
rtl8192su param: remove unnecessary writable charp 2010-08-11 23:04:27 +09:30
rtl8192u
samsung-laptop
sep
serqt_usb2
slicoss
sm7xx
solo6x10
spectra
ti-st
tidspbridge
tm6000
udlfb
usbip
vme
vt6655
vt6656
winbond
wlags49_h2
wlags49_h25
wlan-ng
xgifb
zram
Kconfig
Makefile
staging.c