Messages in this thread | | | Date | Tue, 5 Jul 2011 15:36:20 +0400 | From | Cyrill Gorcunov <> | Subject | Re: [PATCH -tip, final] perf, x86: Add hw_watchdog_set_attr() in a sake of nmi-watchdog on P4 |
| |
On Tue, Jul 05, 2011 at 01:20:02PM +0200, Ingo Molnar wrote: > > * Cyrill Gorcunov <gorcunov@gmail.com> 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
| |