[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130510093729.GA16487@gmail.com>
Date: Fri, 10 May 2013 11:37:29 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Frederic Weisbecker <fweisbec@...il.com>
Cc: Borislav Petkov <bp@...en8.de>, Jiri Kosina <jkosina@...e.cz>,
Tony Luck <tony.luck@...el.com>, linux-kernel@...r.kernel.org,
x86@...nel.org
Subject: Re: NOHZ: WARNING: at arch/x86/kernel/smp.c:123
native_smp_send_reschedule
* Frederic Weisbecker <fweisbec@...il.com> wrote:
> 2013/5/10 Borislav Petkov <bp@...en8.de>:
> > On Fri, May 10, 2013 at 02:29:31AM +0200, Frederic Weisbecker wrote:
> >> @@ -616,8 +616,17 @@ static bool wake_up_full_nohz_cpu(int cpu)
> >> {
> >> if (tick_nohz_full_cpu(cpu)) {
> >> if (cpu != smp_processor_id() ||
> >> - tick_nohz_tick_stopped())
> >> + tick_nohz_tick_stopped()) {
> >> + if (!cpu_online(cpu)) {
> >> + static int printed = 0;
> >> + if (!printed) {
> >> + printk("%d %d\n", cpu, smp_processor_id());
> >> + dump_stack();
> >> + printed = 1;
> >
> > You know about printk_once, right? We even have all the pr_<level>_once
> > macros.
> >
> > :-)
>
> But but that didn't fit as I also want the dump_stack(). May be we
> want dump_stack_once().
The pattern I use in such cases is:
if (WARN_ONCE(!cpu_online(cpu))) {
printk("%d %d\n", cpu, smp_processor_id());
dump_stack();
}
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists