diff options
author | Peter Zijlstra <peterz@infradead.org> | 2018-07-30 13:21:40 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2018-08-02 15:25:20 +0200 |
commit | b80a2bfce85e1051056d98d04ecb2d0b55cbbc1c (patch) | |
tree | 14df7b9e65a904bdd3e5126cdd494e9ec16affa9 /ipc | |
parent | b6a60cf36d497e7fbde9dd5b86fabd96850249f6 (diff) | |
download | linux-stable-b80a2bfce85e1051056d98d04ecb2d0b55cbbc1c.tar.gz linux-stable-b80a2bfce85e1051056d98d04ecb2d0b55cbbc1c.tar.bz2 linux-stable-b80a2bfce85e1051056d98d04ecb2d0b55cbbc1c.zip |
stop_machine: Reflow cpu_stop_queue_two_works()
The code flow in cpu_stop_queue_two_works() is a little arcane; fix this by
lifting the preempt_disable() to the top to create more natural nesting wrt
the spinlocks and make the wake_up_q() and preempt_enable() unconditional
at the end.
Furthermore, enable preemption in the -EDEADLK case, such that we spin-wait
with preemption enabled.
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: isaacm@codeaurora.org
Cc: matt@codeblueprint.co.uk
Cc: psodagud@codeaurora.org
Cc: gregkh@linuxfoundation.org
Cc: pkondeti@codeaurora.org
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20180730112140.GH2494@hirez.programming.kicks-ass.net
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions