From: Oleg Nesterov Date: Wed, 29 Mar 2006 00:11:23 +0000 (-0800) Subject: [PATCH] do_group_exit: don't take tasklist_lock X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=aacc90944d4b1f2fcec73a8127eb60a3a701ce1c;p=openwrt%2Fstaging%2Fblogic.git [PATCH] do_group_exit: don't take tasklist_lock do_group_exit() takes tasklist_lock for zap_other_threads(), this is unneeded now. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/kernel/exit.c b/kernel/exit.c index 44d6c6e3896d..aea23e713cf4 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -985,7 +985,6 @@ do_group_exit(int exit_code) else if (!thread_group_empty(current)) { struct signal_struct *const sig = current->signal; struct sighand_struct *const sighand = current->sighand; - read_lock(&tasklist_lock); spin_lock_irq(&sighand->siglock); if (sig->flags & SIGNAL_GROUP_EXIT) /* Another thread got here before we took the lock. */ @@ -995,7 +994,6 @@ do_group_exit(int exit_code) zap_other_threads(current); } spin_unlock_irq(&sighand->siglock); - read_unlock(&tasklist_lock); } do_exit(exit_code);