linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/9] Updates of HiSilicon Uncore L3C PMU
@ 2025-08-21 13:50 Yushan Wang
  2025-08-21 13:50 ` [PATCH v2 1/9] drivers/perf: hisi: Relax the event ID check in the framework Yushan Wang
                   ` (8 more replies)
  0 siblings, 9 replies; 25+ messages in thread
From: Yushan Wang @ 2025-08-21 13:50 UTC (permalink / raw)
  To: will, mark.rutland, linux-arm-kernel, linux-kernel
  Cc: robin.murphy, yangyicong, Jonathan.Cameron, liuyonglong,
	wanghuiqiang, prime.zeng, wangyushan12, hejunhao3

Support new version of L3C PMU, which supports extended events space
which can be controlled in up to 2 extra address spaces with separate
overflow interrupts.  The layout of the control/event registers are kept
the same.  The extended events with original ones together cover the
monitoring job of all transactions on L3C.

That's said, the driver supports finer granual statistics of L3 cache
with separated and dedicated PMUs, and a new operand `ext` to give a
hint of to which part should perf counting command be delivered.

The extended events is specified with `ext=[1|2]` option for the driver
to distinguish:

perf stat -e hisi_sccl0_l3c0_0/event=<event_id>,ext=<ext>/

Currently only event option using config bit [7, 0]. There's still
plenty unused space. Make ext using config [16, 17] and reserve
bit [15, 8] for event option for future extension.

With the capability of extra counters, number of counters for HiSilicon
uncore PMU could reach up to 24, the usedmap is extended accordingly.

The hw_perf_event::event_base is initialized to the base MMIO address
of the event and will be used for later control, overflow handling and
counts readout.

We still make use of the Uncore PMU framework for handling the events
and interrupt migration on CPU hotplug. The framework's cpuhp callback
will handle the event migration and interrupt migration of orginial
event, if PMU supports extended events then the interrupt of extended
events is migrated to the same CPU choosed by the framework.

A new HID of HISI0215 is used for this version of L3C PMU.

Some necessary refactor is included, allowing the framework to cope with
the new version of driver.

Depends-on: drivers/perf: hisi: Add support for HiSilicon NOC and MN PMU driver
Depends-on: Message-ID: <20250717121727.61057-1-yangyicong@huawei.com>

---

Changes:

v1 -> v2:
  - Don't call disable_irq() and simply return success when there is no
    CPU available for irq migration.
  - Documentation patch split.
  - Fix of a few other issues etc. per Jonathan.

Yicong Yang (7):
  drivers/perf: hisi: Relax the event ID check in the framework
  drivers/perf: hisi: Export hisi_uncore_pmu_isr()
  drivers/perf: hisi: Simplify the probe process of each L3C PMU version
  drivers/perf: hisi: Extract the event filter check of L3C PMU
  drivers/perf: hisi: Extend the field of tt_core
  drivers/perf: hisi: Refactor the event configuration of L3C PMU
  drivers/perf: hisi: Add support for L3C PMU v3

Yushan Wang (2):
  Documentation: hisi-pmu: Fix of minor format error
  Documentation: hisi-pmu: Add introduction to HiSilicon

 Documentation/admin-guide/perf/hisi-pmu.rst  |  43 +-
 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c | 520 +++++++++++++++----
 drivers/perf/hisilicon/hisi_uncore_pmu.c     |   5 +-
 drivers/perf/hisilicon/hisi_uncore_pmu.h     |   6 +-
 4 files changed, 477 insertions(+), 97 deletions(-)

-- 
2.33.0



^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2025-08-27  7:25 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-21 13:50 [PATCH v2 0/9] Updates of HiSilicon Uncore L3C PMU Yushan Wang
2025-08-21 13:50 ` [PATCH v2 1/9] drivers/perf: hisi: Relax the event ID check in the framework Yushan Wang
2025-08-26 13:03   ` Jonathan Cameron
2025-08-21 13:50 ` [PATCH v2 2/9] drivers/perf: hisi: Export hisi_uncore_pmu_isr() Yushan Wang
2025-08-26 13:03   ` Jonathan Cameron
2025-08-21 13:50 ` [PATCH v2 3/9] drivers/perf: hisi: Simplify the probe process of each L3C PMU version Yushan Wang
2025-08-26 13:06   ` Jonathan Cameron
2025-08-21 13:50 ` [PATCH v2 4/9] drivers/perf: hisi: Extract the event filter check of L3C PMU Yushan Wang
2025-08-26 13:06   ` Jonathan Cameron
2025-08-21 13:50 ` [PATCH v2 5/9] drivers/perf: hisi: Extend the field of tt_core Yushan Wang
2025-08-26 13:07   ` Jonathan Cameron
2025-08-21 13:50 ` [PATCH v2 6/9] drivers/perf: hisi: Refactor the event configuration of L3C PMU Yushan Wang
2025-08-26 13:08   ` Jonathan Cameron
2025-08-21 13:50 ` [PATCH v2 7/9] drivers/perf: hisi: Add support for L3C PMU v3 Yushan Wang
2025-08-26 13:12   ` Jonathan Cameron
2025-08-27  6:21     ` wangyushan
2025-08-27  3:43   ` Yicong Yang
2025-08-27  7:07     ` wangyushan
2025-08-21 13:50 ` [PATCH v2 8/9] Documentation: hisi-pmu: Fix of minor format error Yushan Wang
2025-08-26 13:21   ` Jonathan Cameron
2025-08-27  2:15   ` Yicong Yang
2025-08-21 13:50 ` [PATCH v2 9/9] Documentation: hisi-pmu: Add introduction to HiSilicon Yushan Wang
2025-08-26 13:22   ` Jonathan Cameron
2025-08-27  2:27   ` Yicong Yang
2025-08-27  7:22     ` wangyushan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).