Messages in this thread | | | Date | Tue, 21 Jul 2015 21:22:19 +0200 | From | Oleg Nesterov <> | Subject | [PATCH v2 0/6] stop_machine: cleanups, fix, remove lglock |
| |
Hello,
Let me resend this. The only change in v2 is that I rediffed this series against v4.2-rc3.
5/6 patch fixes the bug, I think. Say, stop_one_cpu(X) can race with _cpu_down(X)->stop_machine() so that the kernel will crash if this CPU X becomes online again. The window after cpu_stopper_thread() returns and before smpboot_thread() calls ->park() is tiny, but still this is possible afaics. But see the changelog in 6/6, I think we should turn this cpu_stop_signal_done() into BUG() later.
6/6 removes lglock from kernel/stop_machine.c.
Peter, Rik, what do you think ?
Oleg.
include/linux/lglock.h | 5 -- include/linux/stop_machine.h | 28 ++------ kernel/cpu.c | 2 +- kernel/locking/lglock.c | 22 ------ kernel/stop_machine.c | 162 ++++++++++++++++++++++++------------------ 5 files changed, 98 insertions(+), 121 deletions(-)
| |