From 3740a20c4fe8697cb604a7d51395d23472b1768f Mon Sep 17 00:00:00 2001 From: Alexey Dobriyan Date: Wed, 12 Jan 2011 17:00:35 -0800 Subject: proc: less LOCK/UNLOCK in remove_proc_entry() For the common case where a proc entry is being removed and nobody is in the process of using it, save a LOCK/UNLOCK pair. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- fs/proc/generic.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'fs/proc') diff --git a/fs/proc/generic.c b/fs/proc/generic.c index d00c5af..01e07f2 100644 --- a/fs/proc/generic.c +++ b/fs/proc/generic.c @@ -826,12 +826,9 @@ void remove_proc_entry(const char *name, struct proc_dir_entry *parent) wait_for_completion(de->pde_unload_completion); - goto continue_removing; + spin_lock(&de->pde_unload_lock); } - spin_unlock(&de->pde_unload_lock); -continue_removing: - spin_lock(&de->pde_unload_lock); while (!list_empty(&de->pde_openers)) { struct pde_opener *pdeo; -- cgit v1.1