diff options
author | Nick Piggin <npiggin@kernel.dk> | 2010-08-18 04:37:33 +1000 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-08-18 08:35:46 -0400 |
commit | 2a4419b5b2a77f3f4537c14f7ad7df95770655dd (patch) | |
tree | ad66519a92b995920ecada788e4a08e265747545 /fs/jfs/jfs_inode.c | |
parent | 44672e4fbd40e2dda8bbce7d0f71d24dbfc7e00e (diff) | |
download | op-kernel-dev-2a4419b5b2a77f3f4537c14f7ad7df95770655dd.zip op-kernel-dev-2a4419b5b2a77f3f4537c14f7ad7df95770655dd.tar.gz |
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>
Diffstat (limited to 'fs/jfs/jfs_inode.c')
0 files changed, 0 insertions, 0 deletions