]> git.baikalelectronics.ru Git - kernel.git/commit
proc: less LOCK operations during lookup
authorAlexey Dobriyan <adobriyan@sw.ru>
Fri, 8 Feb 2008 12:18:27 +0000 (04:18 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 8 Feb 2008 17:22:23 +0000 (09:22 -0800)
commit0c733a2be24544479769b9ea49cbd0dc03b3b08e
tree0bf02984aef945c5d97a5929b82e7ecd6b7f39ed
parentb9f7464d867c1a1b65b92863a16e81cf76a265ce
proc: less LOCK operations during lookup

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@sw.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/proc/generic.c