• Nick Piggin's avatar
    fs: fs_struct rwlock to spinlock · 2a4419b5
    Nick Piggin authored
    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: default avatarNick Piggin <npiggin@kernel.dk>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    2a4419b5
fs_struct.c 3.16 KB