• Andrew Morton's avatar
    [PATCH] exportfs - Remove unnecessary locking from find_exported_dentry() · 1b8e3f21
    Andrew Morton authored
    From: "Jose R. Santos" <jrsantos@austin.ibm.com>
    
    After discussing it with Neil, he fell that the original justification for
    taking the kernel_lock on find_exported_dentry() is not longer valid and
    should be safe to remove.
    
    This patch fixes an issue while running SpecSFS where under memory
    pressure, shrinking dcache cause find_exported_dentry() to allocate
    disconnected dentries that later needed to be properly connected.  The
    connecting part of the code was done with BKL taken which cause a sharp
    drop in performance during iterations and profiles showing 75% time spent
    on find_exported_dentry().  After applying the patch, time spent on the
    function is reduce to <1%.
    
    I have tested this on an 8-way machine with 56 filesystems for several days
    now with no problems using ext2, ext3, xfs and jfs.
    1b8e3f21
expfs.c 14.2 KB