Linux Perf Users
 help / color / mirror / Atom feed
From: Sandipan Das <sandipan.das@amd.com>
To: Ian Rogers <irogers@google.com>
Cc: linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	James Clark <james.clark@linaro.org>,
	x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
	Ravi Bangoria <ravi.bangoria@amd.com>,
	Ananth Narayan <ananth.narayan@amd.com>
Subject: Re: [PATCH v2 1/2] perf vendor events amd: Update Zen 5 core events
Date: Mon, 6 Jul 2026 22:51:20 +0530	[thread overview]
Message-ID: <bf0b2ab8-c2b1-4020-8506-6e2188e78250@amd.com> (raw)
In-Reply-To: <CAP-5=fV_czvd-z4N7K+_SabxuOm9UUHRyBxNuchrtAgJL3OqOw@mail.gmail.com>

On 06-07-2026 22:44, Ian Rogers wrote:
> On Mon, Jun 22, 2026 at 10:28 PM Sandipan Das <sandipan.das@amd.com> 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@amd.com>
>> ---
>>
>> Previous versions can be found at:
>> v1: https://lore.kernel.org/all/f16d1391366762dee0d49f00697f5e6ea913e2c1.1780330378.git.sandipan.das@amd.com/
>>
>> 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 for the suggestion. I agree that renames can be problematic
for existing scripted workflows.

Namhyung, please let me know if you want to revert these changes.
I can send out v3.

> 
>>      "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
>>


  reply	other threads:[~2026-07-06 17:21 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-23  5:28 [PATCH v2 1/2] perf vendor events amd: Update Zen 5 core events Sandipan Das
2026-06-23  5:28 ` [PATCH v2 2/2] perf vendor events amd: Update Zen 6 " Sandipan Das
2026-07-06 16:58 ` [PATCH v2 1/2] perf vendor events amd: Update Zen 5 " Namhyung Kim
2026-07-06 17:14 ` Ian Rogers
2026-07-06 17:21   ` Sandipan Das [this message]
2026-07-06 17:29     ` Namhyung Kim

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=bf0b2ab8-c2b1-4020-8506-6e2188e78250@amd.com \
    --to=sandipan.das@amd.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=ananth.narayan@amd.com \
    --cc=hpa@zytor.com \
    --cc=irogers@google.com \
    --cc=james.clark@linaro.org \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --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