summaryrefslogtreecommitdiffstats
path: root/kernel/exit.c
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2016-05-24 08:45:21 -0400
committerIngo Molnar <mingo@kernel.org>2016-06-14 05:55:15 -0400
commitbe3e7844980352756de4261b276ee2ba5be7a26b (patch)
tree977f32f488649a6c77dcec9190d36fddc3df6b69 /kernel/exit.c
parent726328d92a42b6d4b76078e2659f43067f82c4e8 (diff)
locking/spinlock: Update spin_unlock_wait() users
With the modified semantics of spin_unlock_wait() a number of explicit barriers can be removed. Also update the comment for the do_exit() usecase, as that was somewhat stale/obscure. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/exit.c')
-rw-r--r--kernel/exit.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index 9e6e1356e6bb..0b40791b9e70 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -700,10 +700,14 @@ void do_exit(long code)
700 700
701 exit_signals(tsk); /* sets PF_EXITING */ 701 exit_signals(tsk); /* sets PF_EXITING */
702 /* 702 /*
703 * tsk->flags are checked in the futex code to protect against 703 * Ensure that all new tsk->pi_lock acquisitions must observe
704 * an exiting task cleaning up the robust pi futexes. 704 * PF_EXITING. Serializes against futex.c:attach_to_pi_owner().
705 */ 705 */
706 smp_mb(); 706 smp_mb();
707 /*
708 * Ensure that we must observe the pi_state in exit_mm() ->
709 * mm_release() -> exit_pi_state_list().
710 */
707 raw_spin_unlock_wait(&tsk->pi_lock); 711 raw_spin_unlock_wait(&tsk->pi_lock);
708 712
709 if (unlikely(in_atomic())) { 713 if (unlikely(in_atomic())) {