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>
Showing
- drivers/staging/pohmelfs/path_entry.c 4 additions, 4 deletionsdrivers/staging/pohmelfs/path_entry.c
- fs/exec.c 2 additions, 2 deletionsfs/exec.c
- fs/fs_struct.c 16 additions, 16 deletionsfs/fs_struct.c
- include/linux/fs_struct.h 7 additions, 7 deletionsinclude/linux/fs_struct.h
- kernel/fork.c 5 additions, 5 deletionskernel/fork.c
Loading
Please register or sign in to comment