Gentle ping for this patch. Any comments would be appreciated. :)
Thanks,
Qi
On 8/18/2026 6:01 PM, Qi Liu wrote:
> This series adds initial uncore PMU support for Hygon Family 18h
> processors.
>
> Hygon uncore PMUs use a programming model similar to AMD's, but
> differ in MSR base addresses, event encodings, and counter allocation
> semantics. Rather than embedding Hygon support in the AMD uncore
> driver with vendor checks, a dedicated driver is introduced to keep
> both drivers clean and independently maintainable.
>
> The new driver provides hygon_df and hygon_df_iod PMUs covering the
> Data Fabric on both the CPU die and the IO Die, together with perf
> JSON events and metrics for three processor models. A per-context
> hrtimer handles counter reads, and CPU hotplug callbacks manage
> context lifecycle.
>
> Changes since RFC:
> - Address sashiko bot review.
> Changes since v1:
> - Rename the helper namespace to amd_uncore_common_* to avoid
> an generic uncore_common_* prefix, and to keep it distinct
> from the existing amd_uncore_* names.
> Changes since v2:
> - Drop the common helpers refactoring. Keep the Hygon driver
> self-contained instead, avoiding unnecessary changes in the AMD
> uncore driver.
> Changes since v3:
> - Address sashiko bot review.
> Changes since v4:
> - Improve Hygon Data Fabric PMU event naming, descriptions, and scaling.
>
> Qi Liu (2):
> perf/x86/amd/uncore: Add Hygon uncore PMU support
> perf vendor events hygon: Add Hygon Data Fabric PMU events and metrics
>
> arch/x86/events/Kconfig | 11 +
> arch/x86/events/amd/Makefile | 2 +
> arch/x86/events/amd/hygon_uncore.c | 872 ++++++++++++++++++
> arch/x86/events/amd/uncore.c | 11 +-
> arch/x86/include/asm/msr-index.h | 2 +
> arch/x86/include/asm/perf_event.h | 20 +
> include/linux/cpuhotplug.h | 3 +
> tools/perf/pmu-events/Build | 2 +-
> .../arch/x86/hygonm1/data-fabric.json | 95 ++
> .../arch/x86/hygonm4/data-fabric.json | 134 +++
> .../arch/x86/hygonm6/data-fabric.json | 170 ++++
> tools/perf/pmu-events/arch/x86/mapfile.csv | 3 +
> tools/perf/pmu-events/jevents.py | 2 +
> 13 files changed, 1318 insertions(+), 9 deletions(-)
> create mode 100644 arch/x86/events/amd/hygon_uncore.c
> create mode 100644 tools/perf/pmu-events/arch/x86/hygonm1/data-fabric.json
> create mode 100644 tools/perf/pmu-events/arch/x86/hygonm4/data-fabric.json
> create mode 100644 tools/perf/pmu-events/arch/x86/hygonm6/data-fabric.json
>