Re: [PATCH 1/2] nohz: Disable LOCKUP_DETECTOR when NO_HZ_FULL isenabled

From: Steven Rostedt
Date: Wed May 15 2013 - 11:27:27 EST


On Wed, 2013-05-15 at 11:06 -0400, Don Zickus wrote:

> > That's a bit contradictory in function, you want the NMI watchdog to
> > cover all code, so disabling whilst entering NO_HZ state is going to
> > make it not cover some code - *fail*.

Well, when NO_HZ_FULL is set, it covers no code :-)

> >
> > Rather I would suggest disabling the NMI watchdog's runtime default; so
> > you can still enable it with something like:
> >
> > echo 1 > /proc/sys/kernel/nmi_watchdog

Yeah, just disabling it via run time might work.


>
> Coming into the middle of the thread is always hard, but why/how does perf
> disable nohz_full? I didn't think the hardware events of perf would cause
> problems as they are no different than an irq. Curious.

Right now perf requires a tick, not sure exactly why, but you can look
at the code in perf_event_task_tick(). Thus if NO_HZ_FULL sees that a
perf tick is pending, it won't disable ticks. Unfortunately, the
watchdogs, both NMI and soft lockup, use the perf infrastructure to
trigger NMIs or interrupts. This adds a perf element on the rotate list
and keeps NO_HZ_FULL from *ever* activating.

-- Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/