Re: [announce] Performance Counters for Linux, v6
From: Corey Ashford
Date: Sun Jan 25 2009 - 20:06:55 EST
Ingo Molnar wrote:
We are pleased to announce version 6 of our performance counters subsystem
implementation. The shortlog, diffstat and the combo patch can be found
below. The combo patch against latest -git (2.6.29-rc2) can be also found
at:
http://people.redhat.com/mingo/perfcounters/perfcounters-v6-v2.6.29-rc2.patch
It's also available in tip/master at:
http://people.redhat.com/mingo/tip.git/README
There are many changes in the v6 release:
- PowerPC performance counters support from Paul Mackerras, for POWER6
and for the PPC970 family.
- ioctl API to disable/enable individual counters and groups without
closing their fd. This can be useful for libraries, ad-hoc
instrumentation and PAPI support.
- 'pinned' and 'exclusive' counter attributes - for those
applications that want to influence counter scheduling explicitly.
- The 'perfstat' utility (ex 'timec') has been updated:
http://people.redhat.com/mingo/perfcounters/perfstat.c
- 'kerneltop' (easy-to-use text mode NMI profiler) has been updated:
http://people.redhat.com/mingo/perfcounters/kerneltop.c
- Merged to latest mainline
- Various fixes and other updates
Ingo
Hi Ingo,
Looking over the latest capabilities of this proposal, I am wondering
how it can accommodate performance monitor units which have extra
registers which require user-defined data to be loaded into them.
For example, on the Power architecture, there is an Instruction Matching
Register which allows the counting of particular instructions.
Currently, this is unsupported in perfmon2/3, but we have plans to add
it, and it's pretty straight-forward to imagine how this would be done
in perfmon.
But I don't see an obvious way to do it with your proposal. Do you have
any ideas how Performance Counters for Linux could accommodate this sort
of PMU functionality?
One thought would be to change the event code to an event descriptor
structure, which has room for lots of bits, including arch-defined bits
(in the case of Power, an IMR value, and others). This might also be a
way to accommodate unit masks (and enums) as well, which Andi Kleen
pointed out as an issue in an earlier LKML posting.
Regards,
- Corey
Corey Ashford
Software Engineer
IBM Linux Technology Center, Linux Toolchain
Beaverton, OR
503-578-3507
cjashfor@xxxxxxxxxx
--
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/