From: Sandipan Das <sandipan.das@amd.com>
To: Qi Liu <liuqi@hygon.cn>,
peterz@infradead.org, mingo@redhat.com, namhyung@kernel.org,
alexander.shishkin@linux.intel.com, jolsa@kernel.org,
ravi.bangoria@amd.com, irogers@google.com, x86@kernel.org
Cc: linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
lijing@hygon.cn
Subject: Re: [PATCH v5 2/2] perf vendor events hygon: Add Hygon Data Fabric PMU events and metrics
Date: Wed, 19 Aug 2026 10:41:58 +0530 [thread overview]
Message-ID: <79ff1562-d910-418c-b5b5-92d217cdc568@amd.com> (raw)
In-Reply-To: <20260818100118.12944-3-liuqi@hygon.cn>
On 18-08-2026 15:31, Qi Liu wrote:
> Add perf JSON event definitions and metrics for the Hygon Data Fabric (DF)
> uncore PMU.
>
> Signed-off-by: Qi Liu <liuqi@hygon.cn>
> ---
> 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 +
> 6 files changed, 405 insertions(+), 1 deletion(-)
> 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
>
> diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build
> index 372773b998e4..79a9b4cad202 100644
> --- a/tools/perf/pmu-events/Build
> +++ b/tools/perf/pmu-events/Build
> @@ -95,7 +95,7 @@ endif
>
> ifeq ($(JEVENTS_ARCH),$(filter $(JEVENTS_ARCH),x86 all))
> # Generate Intel Json
> -INTELS := $(shell ls -d pmu-events/arch/x86/*|grep -v amdzen|grep -v mapfile.csv)
> +INTELS := $(shell ls -d pmu-events/arch/x86/*|grep -v amdzen|grep -v hygon|grep -v mapfile.csv)
> INTEL_METRICS = $(foreach x,$(INTELS),$(OUTPUT)$(x)/extra-metrics.json)
> INTEL_METRICGROUPS = $(foreach x,$(INTELS),$(OUTPUT)$(x)/extra-metricgroups.json)
> GEN_JSON += $(INTEL_METRICS) $(INTEL_METRICGROUPS)
> diff --git a/tools/perf/pmu-events/arch/x86/hygonm1/data-fabric.json b/tools/perf/pmu-events/arch/x86/hygonm1/data-fabric.json
> new file mode 100644
> index 000000000000..8c6a8e9ba9a5
> --- /dev/null
> +++ b/tools/perf/pmu-events/arch/x86/hygonm1/data-fabric.json
> @@ -0,0 +1,95 @@
> +[
> + {
> + "EventName": "cpu_read_requests_cs_0",
> + "BriefDescription": "Number of CPU read requests to memory in 64-byte units for Coherent Subordinate 0 (CS0).",
Coherent Station is the correct term, if you go by the terminology in AMD
PPRs. Since CSes are the interfaces between the data fabric and the memory
controllers (UMCs), it may be better to rephrase the descriptions as read
or write requests to DRAM channel 0..N which are backed by UMC 0..N and
CS 0..N.
> + "EventCode": "0x2",
> + "UMask": "0x07",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
As the naming suggests, my understanding is that these events count the
number of requests and each request carries a 64-byte payload. Perhaps
the ScaleUnit needs to be factored into the bandwidth metrics instead of
the individual events.
> + },
> + {
> + "EventName": "cpu_read_requests_cs_1",
> + "BriefDescription": "Number of CPU read requests to memory in 64-byte units for Coherent Subordinate 1 (CS1).",
> + "EventCode": "0x2",
> + "UMask": "0x07",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_write_requests_cs_0",
> + "BriefDescription": "Number of CPU write requests to memory in 64-byte units for Coherent Subordinate 0 (CS0).",
> + "EventCode": "0x2",
> + "UMask": "0x08",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_write_requests_cs_1",
> + "BriefDescription": "Number of CPU write requests to memory in 64-byte units for Coherent Subordinate 1 (CS1).",
> + "EventCode": "0x2",
> + "UMask": "0x08",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_read_requests_cs_0",
> + "BriefDescription": "Number of inbound I/O read requests to memory in 64-byte units for Coherent Subordinate 0 (CS0). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x0F",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_read_requests_cs_1",
> + "BriefDescription": "Number of inbound I/O read requests to memory in 64-byte units for Coherent Subordinate 1 (CS1). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x0F",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_write_requests_cs_0",
> + "BriefDescription": "Number of inbound I/O write requests to memory in 64-byte units for Coherent Subordinate 0 (CS0). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x70",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_write_requests_cs_1",
> + "BriefDescription": "Number of inbound I/O write requests to memory in 64-byte units for Coherent Subordinate 1 (CS1). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x70",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "MetricName": "cpu_memory_bandwidth",
> + "MetricExpr": "(cpu_read_requests_cs_0 + cpu_read_requests_cs_1 + cpu_write_requests_cs_0 + cpu_write_requests_cs_1) * 64 / (duration_time * 1e6)",
> + "BriefDescription": "Total CPU memory access bandwidth",
> + "MetricGroup": "DF_Memory_BW",
> + "ScaleUnit": "1MB/s"
> + },
> + {
> + "MetricName": "io_memory_max_bandwidth",
> + "MetricExpr": "(io_read_requests_cs_0 + io_read_requests_cs_1 + io_write_requests_cs_0 + io_write_requests_cs_1) * 64 / (duration_time * 1e6)",
> + "BriefDescription": "Maximum inbound I/O memory access bandwidth (upper bound, assuming 64B per request. Actual inbound I/O requests may be 32B or 64B)",
> + "MetricGroup": "DF_Memory_BW",
> + "ScaleUnit": "1MB/s"
> + },
> + {
> + "MetricName": "io_memory_min_bandwidth",
> + "MetricExpr": "(io_read_requests_cs_0 + io_read_requests_cs_1 + io_write_requests_cs_0 + io_write_requests_cs_1) * 32 / (duration_time * 1e6)",
> + "BriefDescription": "Minimum inbound I/O memory access bandwidth (lower bound, assuming 32B per request. Actual inbound I/O requests may be 32B or 64B)",
> + "MetricGroup": "DF_Memory_BW",
> + "ScaleUnit": "1MB/s"
> + }
> +]
> diff --git a/tools/perf/pmu-events/arch/x86/hygonm4/data-fabric.json b/tools/perf/pmu-events/arch/x86/hygonm4/data-fabric.json
> new file mode 100644
> index 000000000000..41932a1a3d6d
> --- /dev/null
> +++ b/tools/perf/pmu-events/arch/x86/hygonm4/data-fabric.json
> @@ -0,0 +1,134 @@
> +[
> + {
> + "EventName": "cpu_read_requests_cs_0",
> + "BriefDescription": "Number of CPU read requests to memory in 64-byte units for Coherent Subordinate 0 (CS0).",
> + "EventCode": "0x2",
> + "UMask": "0x07",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_read_requests_cs_1",
> + "BriefDescription": "Number of CPU read requests to memory in 64-byte units for Coherent Subordinate 1 (CS1).",
> + "EventCode": "0x2",
> + "UMask": "0x07",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_read_requests_cs_2",
> + "BriefDescription": "Number of CPU read requests to memory in 64-byte units for Coherent Subordinate 2 (CS2).",
> + "EventCode": "0x2",
> + "UMask": "0x07",
> + "CompId": "0x2",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_write_requests_cs_0",
> + "BriefDescription": "Number of CPU write requests to memory in 64-byte units for Coherent Subordinate 0 (CS0).",
> + "EventCode": "0x2",
> + "UMask": "0x08",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_write_requests_cs_1",
> + "BriefDescription": "Number of CPU write requests to memory in 64-byte units for Coherent Subordinate 1 (CS1).",
> + "EventCode": "0x2",
> + "UMask": "0x08",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_write_requests_cs_2",
> + "BriefDescription": "Number of CPU write requests to memory in 64-byte units for Coherent Subordinate 2 (CS2).",
> + "EventCode": "0x2",
> + "UMask": "0x08",
> + "CompId": "0x2",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_read_requests_cs_0",
> + "BriefDescription": "Number of inbound I/O read requests to memory in 64-byte units for Coherent Subordinate 0 (CS0). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x0F",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_read_requests_cs_1",
> + "BriefDescription": "Number of inbound I/O read requests to memory in 64-byte units for Coherent Subordinate 1 (CS1). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x0F",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_read_requests_cs_2",
> + "BriefDescription": "Number of inbound I/O read requests to memory in 64-byte units for Coherent Subordinate 2 (CS2). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x0F",
> + "CompId": "0x2",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_write_requests_cs_0",
> + "BriefDescription": "Number of inbound I/O write requests to memory in 64-byte units for Coherent Subordinate 0 (CS0). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x70",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_write_requests_cs_1",
> + "BriefDescription": "Number of inbound I/O write requests to memory in 64-byte units for Coherent Subordinate 1 (CS1). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x70",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_write_requests_cs_2",
> + "BriefDescription": "Number of inbound I/O write requests to memory in 64-byte units for Coherent Subordinate 2 (CS2). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x70",
> + "CompId": "0x2",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "MetricName": "cpu_memory_bandwidth",
> + "MetricExpr": "(cpu_read_requests_cs_0 + cpu_read_requests_cs_1 + cpu_read_requests_cs_2 + cpu_write_requests_cs_0 + cpu_write_requests_cs_1 + cpu_write_requests_cs_2) * 64 / (duration_time * 1e6)",
> + "MetricConstraint": "NO_GROUP_EVENTS",
> + "BriefDescription": "Total CPU memory access bandwidth",
> + "MetricGroup": "DF_Memory_BW",
> + "ScaleUnit": "1MB/s"
> + },
> + {
> + "MetricName": "io_memory_max_bandwidth",
> + "MetricExpr": "(io_read_requests_cs_0 + io_read_requests_cs_1 + io_read_requests_cs_2 + io_write_requests_cs_0 + io_write_requests_cs_1 + io_write_requests_cs_2) * 64 / (duration_time * 1e6)",
> + "MetricConstraint": "NO_GROUP_EVENTS",
> + "BriefDescription": "Maximum inbound I/O memory access bandwidth (upper bound, assuming 64B per request. Actual inbound I/O requests may be 32B or 64B)",
> + "MetricGroup": "DF_Memory_BW",
> + "ScaleUnit": "1MB/s"
> + },
> + {
> + "MetricName": "io_memory_min_bandwidth",
> + "MetricExpr": "(io_read_requests_cs_0 + io_read_requests_cs_1 + io_read_requests_cs_2 + io_write_requests_cs_0 + io_write_requests_cs_1 + io_write_requests_cs_2) * 32 / (duration_time * 1e6)",
> + "MetricConstraint": "NO_GROUP_EVENTS",
> + "BriefDescription": "Minimum inbound I/O memory access bandwidth (lower bound, assuming 32B per request. Actual inbound I/O requests may be 32B or 64B)",
> + "MetricGroup": "DF_Memory_BW",
> + "ScaleUnit": "1MB/s"
> + }
> +]
> diff --git a/tools/perf/pmu-events/arch/x86/hygonm6/data-fabric.json b/tools/perf/pmu-events/arch/x86/hygonm6/data-fabric.json
> new file mode 100644
> index 000000000000..ee81e35dc6f3
> --- /dev/null
> +++ b/tools/perf/pmu-events/arch/x86/hygonm6/data-fabric.json
> @@ -0,0 +1,170 @@
> +[
> + {
> + "EventName": "cpu_read_requests_cs_0",
> + "BriefDescription": "Number of CPU read requests to memory in 64-byte units for Coherent Subordinate 0 (CS0).",
> + "EventCode": "0x2",
> + "UMask": "0x07",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_read_requests_cs_1",
> + "BriefDescription": "Number of CPU read requests to memory in 64-byte units for Coherent Subordinate 1 (CS1).",
> + "EventCode": "0x2",
> + "UMask": "0x07",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_read_requests_cs_2",
> + "BriefDescription": "Number of CPU read requests to memory in 64-byte units for Coherent Subordinate 2 (CS2).",
> + "EventCode": "0x2",
> + "UMask": "0x07",
> + "CompId": "0x2",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_read_requests_cs_3",
> + "BriefDescription": "Number of CPU read requests to memory in 64-byte units for Coherent Subordinate 3 (CS3).",
> + "EventCode": "0x2",
> + "UMask": "0x07",
> + "CompId": "0x3",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_write_requests_cs_0",
> + "BriefDescription": "Number of CPU write requests to memory in 64-byte units for Coherent Subordinate 0 (CS0).",
> + "EventCode": "0x2",
> + "UMask": "0x08",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_write_requests_cs_1",
> + "BriefDescription": "Number of CPU write requests to memory in 64-byte units for Coherent Subordinate 1 (CS1).",
> + "EventCode": "0x2",
> + "UMask": "0x08",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_write_requests_cs_2",
> + "BriefDescription": "Number of CPU write requests to memory in 64-byte units for Coherent Subordinate 2 (CS2).",
> + "EventCode": "0x2",
> + "UMask": "0x08",
> + "CompId": "0x2",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "cpu_write_requests_cs_3",
> + "BriefDescription": "Number of CPU write requests to memory in 64-byte units for Coherent Subordinate 3 (CS3).",
> + "EventCode": "0x2",
> + "UMask": "0x08",
> + "CompId": "0x3",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_read_requests_cs_0",
> + "BriefDescription": "Number of inbound I/O read requests to memory in 64-byte units for Coherent Subordinate 0 (CS0). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x0F",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_read_requests_cs_1",
> + "BriefDescription": "Number of inbound I/O read requests to memory in 64-byte units for Coherent Subordinate 1 (CS1). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x0F",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_read_requests_cs_2",
> + "BriefDescription": "Number of inbound I/O read requests to memory in 64-byte units for Coherent Subordinate 2 (CS2). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x0F",
> + "CompId": "0x2",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_read_requests_cs_3",
> + "BriefDescription": "Number of inbound I/O read requests to memory in 64-byte units for Coherent Subordinate 3 (CS3). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x0F",
> + "CompId": "0x3",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_write_requests_cs_0",
> + "BriefDescription": "Number of inbound I/O write requests to memory in 64-byte units for Coherent Subordinate 0 (CS0). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x70",
> + "CompId": "0x0",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_write_requests_cs_1",
> + "BriefDescription": "Number of inbound I/O write requests to memory in 64-byte units for Coherent Subordinate 1 (CS1). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x70",
> + "CompId": "0x1",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_write_requests_cs_2",
> + "BriefDescription": "Number of inbound I/O write requests to memory in 64-byte units for Coherent Subordinate 2 (CS2). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x70",
> + "CompId": "0x2",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "EventName": "io_write_requests_cs_3",
> + "BriefDescription": "Number of inbound I/O write requests to memory in 64-byte units for Coherent Subordinate 3 (CS3). Some requests may be 32B, so the reported byte count may overestimate the actual data.",
> + "EventCode": "0x3",
> + "UMask": "0x70",
> + "CompId": "0x3",
> + "Unit": "HYGON_DF",
> + "ScaleUnit": "64Bytes"
> + },
> + {
> + "MetricName": "cpu_memory_bandwidth",
> + "MetricExpr": "(cpu_read_requests_cs_0 + cpu_read_requests_cs_1 + cpu_read_requests_cs_2 + cpu_read_requests_cs_3 + cpu_write_requests_cs_0 + cpu_write_requests_cs_1 + cpu_write_requests_cs_2 + cpu_write_requests_cs_3) * 64 / (duration_time * 1e6)",
> + "MetricConstraint": "NO_GROUP_EVENTS",
> + "BriefDescription": "Total CPU memory access bandwidth",
> + "MetricGroup": "DF_Memory_BW",
> + "ScaleUnit": "1MB/s"
> + },
> + {
> + "MetricName": "io_memory_max_bandwidth",
> + "MetricExpr": "(io_read_requests_cs_0 + io_read_requests_cs_1 + io_read_requests_cs_2 + io_read_requests_cs_3 + io_write_requests_cs_0 + io_write_requests_cs_1 + io_write_requests_cs_2 + io_write_requests_cs_3) * 64 / (duration_time * 1e6)",
> + "MetricConstraint": "NO_GROUP_EVENTS",
> + "BriefDescription": "Maximum inbound I/O memory access bandwidth (upper bound, assuming 64B per request. Actual inbound I/O requests may be 32B or 64B)",
> + "MetricGroup": "DF_Memory_BW",
> + "ScaleUnit": "1MB/s"
> + },
> + {
> + "MetricName": "io_memory_min_bandwidth",
> + "MetricExpr": "(io_read_requests_cs_0 + io_read_requests_cs_1 + io_read_requests_cs_2 + io_read_requests_cs_3 + io_write_requests_cs_0 + io_write_requests_cs_1 + io_write_requests_cs_2 + io_write_requests_cs_3) * 32 / (duration_time * 1e6)",
> + "MetricConstraint": "NO_GROUP_EVENTS",
> + "BriefDescription": "Minimum inbound I/O memory access bandwidth (lower bound, assuming 32B per request. Actual inbound I/O requests may be 32B or 64B)",
> + "MetricGroup": "DF_Memory_BW",
> + "ScaleUnit": "1MB/s"
> + }
> +]
> diff --git a/tools/perf/pmu-events/arch/x86/mapfile.csv b/tools/perf/pmu-events/arch/x86/mapfile.csv
> index 50a403b429b1..ba17117245d1 100644
> --- a/tools/perf/pmu-events/arch/x86/mapfile.csv
> +++ b/tools/perf/pmu-events/arch/x86/mapfile.csv
> @@ -45,3 +45,6 @@ AuthenticAMD-25-([245][[:xdigit:]]|[[:xdigit:]]),v1,amdzen3,core
> AuthenticAMD-25-[[:xdigit:]]+,v1,amdzen4,core
> AuthenticAMD-26-([12467][[:xdigit:]]|[[:xdigit:]]),v1,amdzen5,core
> AuthenticAMD-26-[[:xdigit:]]+,v1,amdzen6,core
> +HygonGenuine-24-[0123],v1,hygonm1,core
> +HygonGenuine-24-[45],v1,hygonm4,core
> +HygonGenuine-24-(1[012345678]|[6789ABCDEF]),v1,hygonm6,core
> diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
> index 376dc2d24162..07a843d92483 100755
> --- a/tools/perf/pmu-events/jevents.py
> +++ b/tools/perf/pmu-events/jevents.py
> @@ -294,6 +294,7 @@ class JsonEvent:
> 'L3PMC': 'amd_l3',
> 'DFPMC': 'amd_df',
> 'UMCPMC': 'amd_umc',
> + 'HYGON_DF': 'hygon_df',
> 'cpu_core': 'cpu_core',
> 'cpu_atom': 'cpu_atom',
> 'ali_drw': 'ali_drw',
> @@ -390,6 +391,7 @@ class JsonEvent:
> ('Invert', 'inv='),
> ('SampleAfterValue', 'period='),
> ('UMask', 'umask='),
> + ('CompId', 'compid='),
> ('NodeType', 'type='),
> ('RdWrMask', 'rdwrmask='),
> ('EnAllCores', 'enallcores='),
prev parent reply other threads:[~2026-08-19 5:12 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-18 10:01 [PATCH v5 0/2] perf/x86/amd/uncore: Add Hygon uncore PMU and JSON events Qi Liu
2026-08-18 10:01 ` [PATCH v5 1/2] perf/x86/amd/uncore: Add Hygon uncore PMU support Qi Liu
2026-08-18 10:16 ` sashiko-bot
2026-08-18 11:32 ` Qi Liu
2026-08-18 10:01 ` [PATCH v5 2/2] perf vendor events hygon: Add Hygon Data Fabric PMU events and metrics Qi Liu
2026-08-18 10:12 ` sashiko-bot
2026-08-19 5:11 ` Sandipan Das [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=79ff1562-d910-418c-b5b5-92d217cdc568@amd.com \
--to=sandipan.das@amd.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=lijing@hygon.cn \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=liuqi@hygon.cn \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=ravi.bangoria@amd.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox