Subject: Re: Performance counters in 824x
To: Allen Briggs <briggs@wasabisystems.com>
From: Andreas Oman <andoma@packetfront.com>
List: port-sandpoint
Date: 03/06/2002 11:45:27
> Definitely. I'm actually interested in this being done in a somewhat
> general fashion as I'd like to see performance counters usable for
> any processor that has them. I'm actually doing some work with
> them on the XScale at the moment, and there is some rudimentary support
> for the x86 performance counters on the 586/686-class of Intel cpus.
>
> Are you tracking the performance counters in the kernel only, or are
> you tracking per-process?
>
Kernel only. My primary interest was to track down performance issues
and bus (PCI, the 60x-core bus, SDRAM) saturation during packet
forwarding.
I just had an hz/10 callout that programmed the counters for different
measuring over and over again. ie.
first call: PCI masters
second: 60x-bus
third: SDRAM usage
fourth: Flash cycles
etc, etc.
and then, restart...
The info was then stored in a simple array and a 30 sec average was
calculated. Extracted from userland by sysctl's
Do you know if there are a present framework in NetBSD for this
kind of information. Recently there was this patch for reading
the temperature from the 603ppc. Could we use that ?
However, doing it on a per process basis would be fun (and usefull)
aswell. In the 824x-case one might have two counters for over all
system measures (collected at hz/10) and two counters that are
reprogrammed and collected during context switch.
any ideas, thoughts ?