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

From: Cyrill Gorcunov
Date: Tue Jul 05 2011 - 07:36:28 EST


On Tue, Jul 05, 2011 at 01:20:02PM +0200, Ingo Molnar wrote:
>
> * Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
>
> > On Tue, Jul 05, 2011 at 12:59:59PM +0200, Ingo Molnar wrote:
> > ...
> > >
> > > are 'non-sleeping ticks' non-halted cycles - i.e. cycles that
> > > always count with CPU frequency and can thus be used for periodic
> > > frequencies?
> >
> > Yes, I think so (btw, as far as I remember oprofile does the same
> > 'threshold' gaming for nmi-watchdog).
>
> But the NMI watchdog does not need a constant frequency event - it
> can use unhalted cycles just fine. Why does it need unhalted cycles
> on P4?
>

Ingo, the main problem there is not halted or unhalted events but rather
inability of p4 architecture to move events between counters, with core
or nehalem you can (if constraints allow) simply move nmi-watchdog event
to another free counter and assign cpu cycles to a free slot. With p4 the
situation is radically different -- every event has a number of contraints
and once nmi-watchdog armed (it could be halted or unhaled event, whatever)
ESCR/CCCR/counter registers tuple borrowed forever and we need to find out
some different non-intersected ESCR/CCCR/counter tuple to count cpu-cycles
in a sake of perf utility purpose. That is why this assignments done in
a such weird way -- just to be able to run nmi-watchdog and cpu-cycles
simultaneously.

Probably I miss something and you mean something completely different?

Cyrill
--
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/