Commit-ID: 8aa2accee41f7045dc904fa41d4475b2f6ffae3e Gitweb: http://git.kernel.org/tip/8aa2accee41f7045dc904fa41d4475b2f6ffae3e Author: Steven Rostedt <rostedt@xxxxxxxxxxx> AuthorDate: Thu, 15 Nov 2012 12:52:44 -0500 Committer: Frederic Weisbecker <fweisbec@xxxxxxxxx> CommitDate: Sat, 17 Nov 2012 19:31:16 +0100 irq_work: Warn if there's still work on cpu_down If we are in nohz and there's still irq_work to be done when the idle task is about to go offline, give a nasty warning. Everything should have been flushed from the CPU_DYING notifier already. Further attempts to enqueue an irq_work are buggy because irqs are disabled by __cpu_disable(). The best we can do is to report the issue to the user. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> --- kernel/irq_work.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/irq_work.c b/kernel/irq_work.c index 4ed1749..480f747 100644 --- a/kernel/irq_work.c +++ b/kernel/irq_work.c @@ -109,6 +109,9 @@ bool irq_work_needs_cpu(void) if (llist_empty(this_list)) return false; + /* All work should have been flushed before going offline */ + WARN_ON_ONCE(cpu_is_offline(smp_processor_id())); + return true; } -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |