stop_machine: Make cpu_stop_queue_work() and stop_one_cpu_nowait() return bool
authorOleg Nesterov <oleg@redhat.com>
Tue, 17 Nov 2015 17:05:23 +0000 (18:05 +0100)
committerIngo Molnar <mingo@kernel.org>
Mon, 23 Nov 2015 08:48:18 +0000 (09:48 +0100)
commit1b034bd989aa4a396c13d305759c376c52595a97
treeea51c57f06f8d3e61e2a19a712db9d7b28d9bebb
parent6a19005157c464b47b2082f2617d12bc11198a0d
stop_machine: Make cpu_stop_queue_work() and stop_one_cpu_nowait() return bool

Change cpu_stop_queue_work() to return true if the work was queued and
change stop_one_cpu_nowait() to return the result of cpu_stop_queue_work().
This makes it more useful, for example now you can alloc cpu_stop_work for
stop_one_cpu_nowait() and free it in the callback or if stop_one_cpu_nowait()
fails, currently this is impossible because you can't know if @fn will be
called or not.

Also, this allows to kill cpu_stop_done->executed, see the next changes.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Tejun Heo <tj@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Milos Vyletel <milos@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20151117170523.GA13955@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/linux/stop_machine.h
kernel/stop_machine.c