Re: [PATCH -tip, final] perf, x86: Add hw_watchdog_set_attr() in asake of nmi-watchdog on P4

From: Peter Zijlstra
Date: Tue Jul 05 2011 - 09:18:00 EST


On Tue, 2011-07-05 at 15:10 +0200, Ingo Molnar wrote:
> * Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
>
> > perf, x86: P4 PMU - Add hw_watchdog_set_attr helper to simulate cpu-cycles counting in nmi-watchdog
> >
> > Because of constraints existed in Netburst PMU counting
> > cpu cycles is allowed for one consumer only.
> >
> > If the kernel is booted up with nmi-watchdog enabled
> > the watchdog become a consumer of such event and there
> > is no more room left for "perf top" and friends (ie any
> > attempts to count cpu cycles simultaneously with nmi-watchdog
> > doomed to fail).
>
> Hm, what is the symptom - 'perf top' reports nothing?
>
> If multiple users request cycles then perf will time-share them -
> this is what happens if you run many 'perf top' or 'perf stat'
> sessions in parallel for example. For example i just tried to run six
> separate 'perf top' in parallel - and all six worked fine.
>
> So the question is, why does the NMI watchdog prevent 'perf top' from
> working on a P4?

because the NMI watchdog is a pinned event, you don't want to share the
counter, that would be very bad, suppose you lock up when the NMI
watchdog was scheduled out. Unreliably debug tools are worse than no
tools.
--
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/