Messages in this thread | | | Subject | [v3][PATCH 0/4] Work around perf NMI-induced hangs | From | Dave Hansen <> | Date | Wed, 29 May 2013 15:27:56 -0700 |
| |
Changes from v2:
2/4: * Only warn on the longest NMIs. Don't print when over a threshhold. * Output in ms as opposed to ns 4/4: * Add some Documentation/ for the tracepoint * keep tracepoint delta in a s64 instead of an int, and vall it 'delta_ns' instead of 'len'
Changes from v1:
* keep a running average instead of taking a single value for determining NMI lengths. * Fixed some of the math converting from ns to/from percentages (it was backwards) * Included nmi length tracepoint at end of series
--
If root or an unprivileged user runs 'perf top', my system hangs. If I'm lucky, I get a warning out to dmesg, along these lines:
hrtimer: interrupt took 13915457 ns cpu: 132
or a hard-lockup message on occasion.
The proxmiate cause of this is that perf_event_nmi_handler() has been observed to take tens of ms on occasion. That needs to get fixed, and I'm working on tracking the root cause down.
But, These patches make the situation better: perf can no longer simply wedge the box, and we have a safe, controlled exit path when things go wrong.
| |