Messages in this thread | | | Subject | Re: [PATCH 1/2] nohz: Disable LOCKUP_DETECTOR when NO_HZ_FULL is enabled | From | Steven Rostedt <> | Date | Wed, 15 May 2013 11:27:02 -0400 |
| |
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
| |