Messages in this thread | | | Date | Wed, 12 Jun 2013 13:03:16 -0400 | From | Don Zickus <> | Subject | Re: [PATCH 4/6] watchdog: Boot-disable by default on full dynticks |
| |
On Wed, Jun 12, 2013 at 04:02:36PM +0200, Frederic Weisbecker wrote: > When the watchdog runs, it prevents the full dynticks > CPUs from stopping their tick because the hard lockup > detector uses perf events internally, which in turn > rely on the periodic tick. > > Since this is a rather confusing behaviour that is not > easy to track down and identify for those who want to > test CONFIG_NO_HZ_FULL, let's default disable the > watchdog on boot time when full dynticks is enabled. > > The user can still enable it later on runtime using > proc or sysctl.
I thought we had a conversation awhile ago, where we agreed this was going to be fixed for 3.11? Didn't Peter find the patch and apply it to his tree? I am confused why this is still needed?
Cheers, Don
> > Reported-by: Steven Rostedt <rostedt@goodmis.org> > Suggested-by: Peter Zijlstra <peterz@infradead.org> > Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> > Cc: Steven Rostedt <rostedt@goodmis.org> > Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> > Cc: Ingo Molnar <mingo@kernel.org> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Li Zhong <zhong@linux.vnet.ibm.com> > Cc: Don Zickus <dzickus@redhat.com> > Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> > Cc: Anish Singh <anish198519851985@gmail.com> > --- > kernel/watchdog.c | 8 ++++++++ > 1 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/kernel/watchdog.c b/kernel/watchdog.c > index 52c9a9b..277d713 100644 > --- a/kernel/watchdog.c > +++ b/kernel/watchdog.c > @@ -553,6 +553,14 @@ void __init lockup_detector_init(void) > { > set_sample_period(); > > +#ifdef CONFIG_NO_HZ_FULL > + if (watchdog_enabled) { > + watchdog_enabled = 0; > + pr_warning("Disabled lockup detectors by default for full dynticks\n"); > + pr_warning("You can reactivate it with 'sysctl -w kernel.watchdog=1'\n"); > + } > +#endif > + > if (watchdog_enabled) > watchdog_enable_all_cpus(); > } > -- > 1.7.5.4 >
| |