[PATCH 0/2] Arm CMN-600 PMU driver

Robin Murphy robin.murphy at arm.com
Wed Aug 5 08:56:48 EDT 2020


Hi all,

At long last, here's an initial cut of the CMN PMU driver that's been
festering in on-and-off development for years. It should be functionally
complete now, although there is still scope for improving the current
implementation (e.g. watchpoint register allocation could be cleverer).

Of particular interest at this point is the user interface - is it
sufficiently complete and useful? Is there any need for a third event
targeting method in between "single node ID" and "all nodes"? Is it
worth templating watchpoints by port and channel to mimic XP events? Do
we want to expose watchpoint-based bandwidth events as synthetic per-node
events? Not all of that would need to be implemented right now so as to
further stall upstreaming, but I really want to make sure that the initial
interface is solid and any further enhancements can cleanly extend it,
rather than painting ourselves into a corner in terms of ABI support.

Robin.


Robin Murphy (2):
  perf: Add Arm CMN-600 DT binding
  perf: Add Arm CMN-600 PMU driver

 Documentation/admin-guide/perf/arm-cmn.rst    |   65 +
 Documentation/admin-guide/perf/index.rst      |    1 +
 .../devicetree/bindings/perf/arm-cmn.yaml     |   57 +
 drivers/perf/Kconfig                          |    7 +
 drivers/perf/Makefile                         |    1 +
 drivers/perf/arm-cmn.c                        | 1653 +++++++++++++++++
 6 files changed, 1784 insertions(+)
 create mode 100644 Documentation/admin-guide/perf/arm-cmn.rst
 create mode 100644 Documentation/devicetree/bindings/perf/arm-cmn.yaml
 create mode 100644 drivers/perf/arm-cmn.c

-- 
2.28.0.dirty




More information about the linux-arm-kernel mailing list