Re: [PATCH v2 1/2] perf vendor events amd: Update Zen 5 core events
From: Ian Rogers
Date: Mon Jul 06 2026 - 13:18:21 EST
On Mon, Jun 22, 2026 at 10:28 PM Sandipan Das <sandipan.das@xxxxxxx> wrote:
>
> Update definitions for the following events.
> * PMCx00A - Add missing unit masks
> * PMCx00B - Add missing unit masks and fix descriptions
> * PMCx00C - Add missing unit masks
> * PMCx00D - Add missing unit masks
> * PMCx025 - Add missing unit masks and fix descriptions
>
> Fixes: 45c072f2537a ("perf vendor events amd: Add Zen 5 core events")
> Signed-off-by: Sandipan Das <sandipan.das@xxxxxxx>
> ---
>
> Previous versions can be found at:
> v1: https://lore.kernel.org/all/f16d1391366762dee0d49f00697f5e6ea913e2c1.1780330378.git.sandipan.das@xxxxxxx/
>
> Changes in v2:
> * Fix event description pointed out by sashiko.
>
> ---
> .../arch/x86/amdzen5/floating-point.json | 130 +++++++++++++++---
> .../arch/x86/amdzen5/load-store.json | 8 +-
> 2 files changed, 120 insertions(+), 18 deletions(-)
>
> diff --git a/tools/perf/pmu-events/arch/x86/amdzen5/floating-point.json b/tools/perf/pmu-events/arch/x86/amdzen5/floating-point.json
> index 9204bfb1d69e..569975b53cc3 100644
> --- a/tools/perf/pmu-events/arch/x86/amdzen5/floating-point.json
> +++ b/tools/perf/pmu-events/arch/x86/amdzen5/floating-point.json
> @@ -179,6 +179,30 @@
> "BriefDescription": "Retired scalar floating-point blend ops.",
> "UMask": "0x09"
> },
> + {
> + "EventName": "fp_ops_retired_by_type.scalar_mov",
> + "EventCode": "0x0a",
> + "BriefDescription": "Retired scalar floating-point MOV ops.",
> + "UMask": "0x0a"
> + },
> + {
> + "EventName": "fp_ops_retired_by_type.scalar_shuffle",
> + "EventCode": "0x0a",
> + "BriefDescription": "Retired scalar floating-point shuffle ops (may include instructions not necessarily thought of as including shuffles e.g. horizontal add, dot product, and certain MOV instructions).",
> + "UMask": "0x0b"
> + },
> + {
> + "EventName": "fp_ops_retired_by_type.scalar_bfloat",
> + "EventCode": "0x0a",
> + "BriefDescription": "Retired scalar floating-point bfloat ops.",
> + "UMask": "0x0c"
> + },
> + {
> + "EventName": "fp_ops_retired_by_type.scalar_logical",
> + "EventCode": "0x0a",
> + "BriefDescription": "Retired scalar floating-point logical ops.",
> + "UMask": "0x0d"
> + },
> {
> "EventName": "fp_ops_retired_by_type.scalar_other",
> "EventCode": "0x0a",
> @@ -245,12 +269,24 @@
> "BriefDescription": "Retired vector floating-point blend ops.",
> "UMask": "0x90"
> },
> + {
> + "EventName": "fp_ops_retired_by_type.vector_mov",
> + "EventCode": "0x0a",
> + "BriefDescription": "Retired vector floating-point MOV ops.",
> + "UMask": "0xa0"
> + },
> {
> "EventName": "fp_ops_retired_by_type.vector_shuffle",
> "EventCode": "0x0a",
> "BriefDescription": "Retired vector floating-point shuffle ops (may include instructions not necessarily thought of as including shuffles e.g. horizontal add, dot product, and certain MOV instructions).",
> "UMask": "0xb0"
> },
> + {
> + "EventName": "fp_ops_retired_by_type.vector_bfloat",
> + "EventCode": "0x0a",
> + "BriefDescription": "Retired vector floating-point bfloat ops.",
> + "UMask": "0xc0"
> + },
> {
> "EventName": "fp_ops_retired_by_type.vector_logical",
> "EventCode": "0x0a",
> @@ -278,7 +314,7 @@
> {
> "EventName": "sse_avx_ops_retired.mmx_add",
> "EventCode": "0x0b",
> - "BriefDescription": "Retired MMX integer add.",
> + "BriefDescription": "Retired MMX integer add ops.",
> "UMask": "0x01"
> },
> {
> @@ -299,16 +335,34 @@
> "BriefDescription": "Retired MMX integer multiply-accumulate ops.",
> "UMask": "0x04"
> },
> + {
> + "EventName": "sse_avx_ops_retired.mmx_aes",
> + "EventCode": "0x0b",
> + "BriefDescription": "Retired MMX integer AES ops.",
> + "UMask": "0x05"
> + },
> + {
> + "EventName": "sse_avx_ops_retired.mmx_sha",
> + "EventCode": "0x0b",
> + "BriefDescription": "Retired MMX integer SHA ops.",
> + "UMask": "0x06"
> + },
> {
> "EventName": "sse_avx_ops_retired.mmx_cmp",
> "EventCode": "0x0b",
> "BriefDescription": "Retired MMX integer compare ops.",
> "UMask": "0x07"
> },
> + {
> + "EventName": "sse_avx_ops_retired.mmx_cvt",
> + "EventCode": "0x0b",
> + "BriefDescription": "Retired MMX integer convert or pack ops.",
> + "UMask": "0x08"
> + },
> {
> "EventName": "sse_avx_ops_retired.mmx_shift",
> "EventCode": "0x0b",
> - "BriefDescription": "Retired MMX integer shift ops.",
> + "BriefDescription": "Retired MMX integer shift or rotate ops.",
> "UMask": "0x09"
> },
> {
> @@ -324,9 +378,9 @@
> "UMask": "0x0b"
> },
> {
> - "EventName": "sse_avx_ops_retired.mmx_pack",
> + "EventName": "sse_avx_ops_retired.mmx_vnni",
Just a heads up, when renaming events it may be a good idea to keep
the old name and mark the event as deprecated, then add the event
again with the new name. This avoids events breaking when the perf
tool is updated. Personally I feel vendors should get to decide about
this kind of thing, but there have been some strong sensitivities
around event names in the past.
Thanks,
Ian
> "EventCode": "0x0b",
> - "BriefDescription": "Retired MMX integer pack ops.",
> + "BriefDescription": "Retired MMX integer VNNI ops.",
> "UMask": "0x0c"
> },
> {
> @@ -390,15 +444,15 @@
> "UMask": "0x70"
> },
> {
> - "EventName": "sse_avx_ops_retired.sse_avx_clm",
> + "EventName": "sse_avx_ops_retired.sse_avx_cvt",
> "EventCode": "0x0b",
> - "BriefDescription": "Retired SSE and AVX integer CLM ops.",
> + "BriefDescription": "Retired SSE and AVX integer convert or pack ops.",
> "UMask": "0x80"
> },
> {
> "EventName": "sse_avx_ops_retired.sse_avx_shift",
> "EventCode": "0x0b",
> - "BriefDescription": "Retired SSE and AVX integer shift ops.",
> + "BriefDescription": "Retired SSE and AVX integer shift or rotate ops.",
> "UMask": "0x90"
> },
> {
> @@ -414,9 +468,9 @@
> "UMask": "0xb0"
> },
> {
> - "EventName": "sse_avx_ops_retired.sse_avx_pack",
> + "EventName": "sse_avx_ops_retired.sse_avx_vnni",
> "EventCode": "0x0b",
> - "BriefDescription": "Retired SSE and AVX integer pack ops.",
> + "BriefDescription": "Retired SSE and AVX integer VNNI ops.",
> "UMask": "0xc0"
> },
> {
> @@ -497,12 +551,24 @@
> "BriefDescription": "Retired 128-bit packed floating-point blend ops.",
> "UMask": "0x09"
> },
> + {
> + "EventName": "fp_pack_ops_retired.fp128_mov",
> + "EventCode": "0x0c",
> + "BriefDescription": "Retired 128-bit packed floating-point MOV ops.",
> + "UMask": "0x0a"
> + },
> {
> "EventName": "fp_pack_ops_retired.fp128_shuffle",
> "EventCode": "0x0c",
> "BriefDescription": "Retired 128-bit packed floating-point shuffle ops (may include instructions not necessarily thought of as including shuffles e.g. horizontal add, dot product, and certain MOV instructions).",
> "UMask": "0x0b"
> },
> + {
> + "EventName": "fp_pack_ops_retired.fp128_bfloat",
> + "EventCode": "0x0c",
> + "BriefDescription": "Retired 128-bit packed floating-point bfloat ops.",
> + "UMask": "0x0c"
> + },
> {
> "EventName": "fp_pack_ops_retired.fp128_logical",
> "EventCode": "0x0c",
> @@ -575,12 +641,24 @@
> "BriefDescription": "Retired 256-bit packed floating-point blend ops.",
> "UMask": "0x90"
> },
> + {
> + "EventName": "fp_pack_ops_retired.fp256_mov",
> + "EventCode": "0x0c",
> + "BriefDescription": "Retired 256-bit packed floating-point MOV ops.",
> + "UMask": "0xa0"
> + },
> {
> "EventName": "fp_pack_ops_retired.fp256_shuffle",
> "EventCode": "0x0c",
> "BriefDescription": "Retired 256-bit packed floating-point shuffle ops (may include instructions not necessarily thought of as including shuffles e.g. horizontal add, dot product, and certain MOV instructions).",
> "UMask": "0xb0"
> },
> + {
> + "EventName": "fp_pack_ops_retired.fp256_bfloat",
> + "EventCode": "0x0c",
> + "BriefDescription": "Retired 256-bit packed floating-point bfloat ops.",
> + "UMask": "0xc0"
> + },
> {
> "EventName": "fp_pack_ops_retired.fp256_logical",
> "EventCode": "0x0c",
> @@ -648,15 +726,15 @@
> "UMask": "0x07"
> },
> {
> - "EventName": "packed_int_op_type.int128_clm",
> + "EventName": "packed_int_op_type.int128_cvt",
> "EventCode": "0x0d",
> - "BriefDescription": "Retired 128-bit packed integer CLM ops.",
> + "BriefDescription": "Retired 128-bit packed integer convert or pack ops.",
> "UMask": "0x08"
> },
> {
> "EventName": "packed_int_op_type.int128_shift",
> "EventCode": "0x0d",
> - "BriefDescription": "Retired 128-bit packed integer shift ops.",
> + "BriefDescription": "Retired 128-bit packed integer shift or rotate ops.",
> "UMask": "0x09"
> },
> {
> @@ -672,9 +750,9 @@
> "UMask": "0x0b"
> },
> {
> - "EventName": "packed_int_op_type.int128_pack",
> + "EventName": "packed_int_op_type.int128_vnni",
> "EventCode": "0x0d",
> - "BriefDescription": "Retired 128-bit packed integer pack ops.",
> + "BriefDescription": "Retired 128-bit packed integer VNNI ops.",
> "UMask": "0x0c"
> },
> {
> @@ -719,16 +797,34 @@
> "BriefDescription": "Retired 256-bit packed integer multiply-accumulate ops.",
> "UMask": "0x40"
> },
> + {
> + "EventName": "packed_int_op_type.int256_aes",
> + "EventCode": "0x0d",
> + "BriefDescription": "Retired 256-bit packed integer AES ops.",
> + "UMask": "0x50"
> + },
> + {
> + "EventName": "packed_int_op_type.int256_sha",
> + "EventCode": "0x0d",
> + "BriefDescription": "Retired 256-bit packed integer SHA ops.",
> + "UMask": "0x60"
> + },
> {
> "EventName": "packed_int_op_type.int256_cmp",
> "EventCode": "0x0d",
> "BriefDescription": "Retired 256-bit packed integer compare ops.",
> "UMask": "0x70"
> },
> + {
> + "EventName": "packed_int_op_type.int256_cvt",
> + "EventCode": "0x0d",
> + "BriefDescription": "Retired 256-bit packed integer convert or pack ops.",
> + "UMask": "0x80"
> + },
> {
> "EventName": "packed_int_op_type.int256_shift",
> "EventCode": "0x0d",
> - "BriefDescription": "Retired 256-bit packed integer shift ops.",
> + "BriefDescription": "Retired 256-bit packed integer shift or rotate ops.",
> "UMask": "0x90"
> },
> {
> @@ -744,9 +840,9 @@
> "UMask": "0xb0"
> },
> {
> - "EventName": "packed_int_op_type.int256_pack",
> + "EventName": "packed_int_op_type.int256_vnni",
> "EventCode": "0x0d",
> - "BriefDescription": "Retired 256-bit packed integer pack ops.",
> + "BriefDescription": "Retired 256-bit packed integer VNNI ops.",
> "UMask": "0xc0"
> },
> {
> diff --git a/tools/perf/pmu-events/arch/x86/amdzen5/load-store.json b/tools/perf/pmu-events/arch/x86/amdzen5/load-store.json
> index 06bbaea15925..b1994539ece8 100644
> --- a/tools/perf/pmu-events/arch/x86/amdzen5/load-store.json
> +++ b/tools/perf/pmu-events/arch/x86/amdzen5/load-store.json
> @@ -8,9 +8,15 @@
> {
> "EventName": "ls_locks.bus_lock",
> "EventCode": "0x25",
> - "BriefDescription": "Retired Lock instructions which caused a bus lock.",
> + "BriefDescription": "Retired lock instructions which caused a bus lock.",
> "UMask": "0x01"
> },
> + {
> + "EventName": "ls_locks.all",
> + "EventCode": "0x25",
> + "BriefDescription": "Retired lock instructions of all types.",
> + "UMask": "0x1f"
> + },
> {
> "EventName": "ls_ret_cl_flush",
> "EventCode": "0x26",
> --
> 2.53.0
>