[PATCH 0/2] constraints for power9 l2/l3 bus events

Madhavan Srinivasan maddy at linux.vnet.ibm.com
Mon Jun 11 00:27:00 AEST 2018


This patch series adds constraints for power9 l2/l3 bus event.
In previous generation processors, both bus events and direct
events of performance monitoring unit can be individually
programmabled and monitored in PMCs.

But in Power9, L2/L3 bus events are always available as a
"bank" of events. To obtain the counts for any of the
l2/l3 bus events in a given bank, the user will have to
program PMC4 with corresponding l2/l3 bus event for that
bank.

Patch enforce two contraints incase of L2/L3 bus events.

1)Any L2/L3 event when programmed is also expected to program corresponding
PMC4 event from that group.
2)PMC4 event should always been programmed first due to group constraint
logic limitation

For ex. consider these L3 bus events

PM_L3_PF_ON_CHIP_MEM (0x460A0),
PM_L3_PF_MISS_L3 (0x160A0),
PM_L3_CO_MEM (0x260A0),
PM_L3_PF_ON_CHIP_CACHE (0x360A0),

1) This is an INVALID group for L3 Bus event monitoring,
since it is missing PMC4 event.
	perf stat -e "{r160A0,r260A0,r360A0}" < >

And this is a VALID group for L3 Bus events:
	perf stat -e "{r460A0,r160A0,r260A0,r360A0}" < >

2) This is an INVALID group for L3 Bus event monitoring,
since it is missing PMC4 event.
	perf stat -e "{r260A0,r360A0}" < >

And this is a VALID group for L3 Bus events:
	perf stat -e "{r460A0,r260A0,r360A0}" < >

3) This is an INVALID group for L3 Bus event monitoring,
since it is missing PMC4 event.
	perf stat -e "{r360A0}" < >

And this is a VALID group for L3 Bus events:
	perf stat -e "{r460A0,r360A0}" < >

Patch 2 of this series removes the l2 bus events added
to hw cache event array.

Madhavan Srinivasan (2):
  powerpc/perf: Add constraints for power9 l2/l3 bus events
  powerpc/perf: Remove l2 bus events from HW cache event array

 arch/powerpc/include/asm/perf_event_server.h |  2 ++
 arch/powerpc/perf/core-book3s.c              | 20 +++++++++++++++-----
 arch/powerpc/perf/isa207-common.c            | 28 ++++++++++++++++++----------
 arch/powerpc/perf/isa207-common.h            |  5 +++++
 arch/powerpc/perf/power9-pmu.c               | 10 ++++------
 5 files changed, 44 insertions(+), 21 deletions(-)

-- 
2.7.4



More information about the Linuxppc-dev mailing list