The patch titled proc: less LOCK operations during lookup has been added to the -mm tree. Its filename is proc-less-lock-operations-during-lookup.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: proc: less LOCK operations during lookup From: Alexey Dobriyan <adobriyan@xxxxx> Pseudo-code for lookup effectively is: LOCK kernel LOCK proc_subdir_lock find PDE UNLOCK proc_subdir_lock get inode LOCK proc_subdir_lock goto unlock UNLOCK proc_subdir_lock UNLOCK kernel We can get rid of LOCK/UNLOCK pair after getting inode simply by jumping to unlock_kernel() directly. Signed-off-by: Alexey Dobriyan <adobriyan@xxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/proc/generic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN fs/proc/generic.c~proc-less-lock-operations-during-lookup fs/proc/generic.c --- a/fs/proc/generic.c~proc-less-lock-operations-during-lookup +++ a/fs/proc/generic.c @@ -403,12 +403,12 @@ struct dentry *proc_lookup(struct inode spin_unlock(&proc_subdir_lock); error = -EINVAL; inode = proc_get_inode(dir->i_sb, ino, de); - spin_lock(&proc_subdir_lock); - break; + goto out_unlock; } } } spin_unlock(&proc_subdir_lock); +out_unlock: unlock_kernel(); if (inode) { _ Patches currently in -mm which might be from adobriyan@xxxxx are origin.patch proc-remove-module_license.patch proc-less-lock-operations-during-lookup.patch proc-prototypes-redux.patch proc-remove-useless-check-on-symlink-removal.patch proc-remove-useless-checks-in-proc_register.patch single_open-seq_release-leak-diagnostics.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html