[PATCH] exportfs - Remove unnecessary locking from find_exported_dentry()
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.
Showing
Please register or sign in to comment