Ok, sounds like you've got the jist of it. FWIW, PAPI does multiplexing
in user land and, in theory, you can enable multiplexing (triggered on
itimer) with hardware overflow. Of course, kernel multiplexing is much
more interesting and efficient. The IA64 substrate supports this. But
currently we don't test this, largely because we use the SIGPROF timer
and many systems send us SIGPROF from the hardware counters as well.
Keep us posted...sounds pretty interesting. We'll put it on our wish
list as well.
On Tue, 2005-03-15 at 09:23 -0800, Chandra Khan wrote:
> Thanks for making the distinction.
> While aggregate counts are interesting (in general) and I'll watch out
> for the IBM perfctr/papi work, I'm more interested in continuous
> hardware profiling with multiple event sets (oprofile with event set
> multiplexing). Yes, it does sound like I have some hacking to do!
> I'm wondering if I can keep a process sleeping, which when notified,
> wakes up and switches out the event set in the PMU (all, from
> userspace). These notifications would be generated by PMC overflow.
> There is a kernel->user switch here each time I want to reprogram the
> event set. Amortizing this cost may be achieved through reprogramming
> once per many overflows.
> This would avoid the need to teach kernel oprofile code the details of
> PMC event programming.
> On Tue, 15 Mar 2005 13:18:37 +0100, Philip Mucci <mucci@...> wrote:
> > Hi Chandra,
> > What perfex -a, papex -m and pfmon do is multiple eventsets in order to
> > produce aggregate counts over a longer run. None of the above are for
> > statistical hw profiling, as with oprofile.
> > If you're looking for perfex -a functionality, then you should shorly be
> > able to use papiex/papi on that system. (IBM is preparing a PerfCtr/PAPI
> > patch to do this.)
> > If you're interested in statistical profiles of all events, then it
> > looks like you've got some hacking to do. Are you interested in counts
> > or IP -> overflow mappings?
> > Phil
> > On Mon, 2005-03-14 at 10:55 -0800, Chandra Khan wrote:
> > > Hi
> > >
> > > I'm running oprofile/linux-2.6/ppc64 on my G5 (IBM 970). I would like to see
> > > oprofile perform time-multiplexing of event groups.
> > >
> > > Even though it is statistically possible to rerun an experiment with the PMU
> > > configured to count a different set of events, a continuously running system
> > > would benefit from such event multiplexing.
> > >
> > > One mechanism is outlined by Stephane Eranian in slides 21-24 of:
> > > http://openlab-mu-internal.web.cern.ch/openlab-mu-internal/Documents/Presentations/Slides/2005/05-01_SE_perfmon.pdf
> > >
> > > Another mechanism is apparently available on Irix/MIPS with "perfex -a":
> > > http://www.ncsa.uiuc.edu/UserInfo/Resources/Software/Perf/Tuning/Tips/perfex.html
> > >
> > > My goal is to reproduce the "perfex -a" functionality. In the desired state:
> > > Upon an overflow interrupt (of any of the PMCs), all 8 PMCs are switched to
> > > count the next group of 8 events. Inspection of the event_mappings file tells
> > > me that there are 22 such event groups, each of which will be visited round
> > > robin.
> > >
> > > In doing so, I'll have to teach LINUX/arch/ppc64/oprofile/op_model_power4.c
> > > about the information in OPROFILE/events/ppc64/970/event_mappings. Which,
> > > quite clearly, breaks the fundamental design of the system.
> > >
> > > Any thoughts or suggestions on this? I'd appreciate opinions before I start
> > > adding my own ugly hacks.
> > >
> > > Thanks in advance,
> > > Chandra
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> oprofile-list mailing list