• Andrew Morton's avatar
    [PATCH] remove dparent_lock · 723c6e83
    Andrew Morton authored
    The big SMP machines are seeing quite some contention in dnotify_parent()
    (via vfs_write).  This function is hammering the global dparent_lock.
    
    However we don't actually need a global dparent_lock for pinning down
    dentry->d_parent.  We can use dentry->d_lock for this.  That is already being
    held across d_move.
    
    This patch speeds up SDET on the 16-way by 5% and wipes dnotify_parent() off
    the profiles.
    
    It also uninlines dnofity_parent().
    
    It also uses spin_lock(), which is faster than read_lock().
    
    I'm not sure that we need to take both the source and target dentry's d_lock
    in d_move.
    
    The patch also does lots of s/__inline__/inline/ in dcache.h
    723c6e83
inode.c 32.5 KB