Re: [PATCH RFC] irq_work: Warn if there's still work on cpu_down
On Thu, 2012-11-15 at 19:12 +0100, Frederic Weisbecker wrote: > 2012/11/15 Steven Rostedt : > > 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. > > > > Signed-off-by: Steven Rostedt > > > > Index: linux-rt.git/kernel/irq_work.c > > === > > --- linux-rt.git.orig/kernel/irq_work.c > > +++ linux-rt.git/kernel/irq_work.c > > @@ -103,6 +103,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())); > > Should we return false in that case? I don't know what can happen if > we wait for one more tick while the CPU is offline and apic is > deactivated. > We can just let it go and find out :-) Heck, they get the warning, if the system crashes shortly afterwards, they know why. -- Steve > > + > > return true; > > } > > > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH RFC] irq_work: Warn if there's still work on cpu_down
2012/11/15 Steven Rostedt : > 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. > > Signed-off-by: Steven Rostedt > > Index: linux-rt.git/kernel/irq_work.c > === > --- linux-rt.git.orig/kernel/irq_work.c > +++ linux-rt.git/kernel/irq_work.c > @@ -103,6 +103,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())); Should we return false in that case? I don't know what can happen if we wait for one more tick while the CPU is offline and apic is deactivated. > + > return true; > } > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH RFC] 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. Signed-off-by: Steven Rostedt Index: linux-rt.git/kernel/irq_work.c === --- linux-rt.git.orig/kernel/irq_work.c +++ linux-rt.git/kernel/irq_work.c @@ -103,6 +103,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-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/