Linux Perf Users
 help / color / mirror / Atom feed
From: "Mi, Dapeng" <dapeng1.mi@linux.intel.com>
To: sashiko-reviews@lists.linux.dev
Cc: linux-perf-users@vger.kernel.org
Subject: Re: [PATCH 04/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for ADL
Date: Tue, 19 May 2026 15:11:39 +0800	[thread overview]
Message-ID: <cf56e302-2bfb-4632-b778-1c2a03786ef8@linux.intel.com> (raw)
In-Reply-To: <20260515063847.1B308C2BCB0@smtp.kernel.org>


On 5/15/2026 2:38 PM, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
> - [Medium] The commit introduces a bisectability regression for MTL and ARL-U platforms by temporarily applying incorrect Alderlake-specific cache event structures.
> - [Low] Unnecessary duplication of the Golden Cove hardware cache event IDs array.
> --
>
> commit 58bdcbf21858fcf6337dcba2e5e091a86ddafd3c
> Author: Dapeng Mi <dapeng1.mi@linux.intel.com>
>
> perf/x86/intel: Update event constraints and cache_extra_regs[] for ADL
>     
> This commit updates the hard-coded event constraints and cache_extra_regs[]
> for Alderlake according to the latest ADL perfmon events. It introduces
> ADL-specific variants of structures and functions to reflect differences
> in L3/node related OCR events.
>
>> Please note these changes would temporarily impact other platforms like
>> MTL/ARL-U which shares hard-coded event structures, but it would be
>> fixed soon in subsequent patches.
> Does this introduce a bisectability regression for Meteorlake and Arrowlake-U
> platforms?
>
> Every commit needs to be self-contained and functionally correct to keep the
> tree bisectable. I noticed the fixes are included later in the series.
>
> Could the patch series be reorganized to avoid leaving any platform in a
> regressed state during bisection?

Hmm, it would not introduce a bisectability regression. The hard coded
cache event MSR value table are already inaccurate before this patch.
Although the changes would impact the MTL/ARL-U, but it doesn't introduce
new issues.


>
>> diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
>> index 0d0edc2d1b906..7948e3afc2916 100644
>> --- a/arch/x86/events/intel/core.c
>> +++ b/arch/x86/events/intel/core.c
> [ ... ]
>
>> @@ -713,6 +715,80 @@ static __initconst const u64 glc_hw_cache_event_ids
>>   },
>>  };
>>  
>> +/* ADL P-core (Golden cove) specific event code. */
>> +static __initconst const u64 adl_glc_hw_cache_event_ids
>> +				[PERF_COUNT_HW_CACHE_MAX]
>> +				[PERF_COUNT_HW_CACHE_OP_MAX]
>> +				[PERF_COUNT_HW_CACHE_RESULT_MAX] =
>> +{
>> + [ C(L1D ) ] = {
>> +	[ C(OP_READ) ] = {
>> +		[ C(RESULT_ACCESS) ] = 0x81d0,
>> +		[ C(RESULT_MISS)   ] = 0xe124,
>> +	},
>> +	[ C(OP_WRITE) ] = {
>> +		[ C(RESULT_ACCESS) ] = 0x82d0,
>> +	},
>> + },
> [ ... ]
>
>> + [ C(BPU ) ] = {
>> +	[ C(OP_READ) ] = {
>> +		[ C(RESULT_ACCESS) ] = 0x4c4,
>> +		[ C(RESULT_MISS)   ] = 0x4c5,
>> +	},
>> +	[ C(OP_WRITE) ] = {
>> +		[ C(RESULT_ACCESS) ] = -1,
>> +		[ C(RESULT_MISS)   ] = -1,
>> +	},
>> +	[ C(OP_PREFETCH) ] = {
>> +		[ C(RESULT_ACCESS) ] = -1,
>> +		[ C(RESULT_MISS)   ] = -1,
>> +	},
>> + },
>> +};
> This array appears to be identical to the existing glc_hw_cache_event_ids
> array, except that the C(NODE) entries are omitted and default to zero.
>
> Instead of duplicating the entire array and risking silent divergence when
> future updates are made, could we dynamically clear the C(NODE) entries for
> Alderlake during initialization?
>
> A similar pattern of localized overrides is already utilized in
> intel_pmu_init_grt() for the C(ITLB) event.

The new introduced adl_glc_hw_cache_event_ids[] table would be called by
multiple places, It looks clearer to define a new table instead of
overwriting the old table.

Thanks.


>

  reply	other threads:[~2026-05-19  7:12 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-15  6:11 [PATCH 00/11] perf/x86/intel: Fix inaccurate hard-coded event configurations Dapeng Mi
2026-05-15  6:11 ` [PATCH 01/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for ICX Dapeng Mi
2026-05-19 22:19   ` Chen, Zide
2026-05-20  1:10     ` Mi, Dapeng
2026-05-15  6:11 ` [PATCH 02/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for SPR Dapeng Mi
2026-05-19 22:25   ` Chen, Zide
2026-05-20  2:08     ` Mi, Dapeng
2026-05-15  6:11 ` [PATCH 03/11] perf/x86/intel: Update event constraints for DMR Dapeng Mi
2026-05-19 22:19   ` Chen, Zide
2026-05-15  6:11 ` [PATCH 04/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for ADL Dapeng Mi
2026-05-15  6:38   ` sashiko-bot
2026-05-19  7:11     ` Mi, Dapeng [this message]
2026-05-19 22:26   ` Chen, Zide
2026-05-15  6:11 ` [PATCH 05/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for MTL Dapeng Mi
2026-05-15  6:11 ` [PATCH 06/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for LNL Dapeng Mi
2026-05-15  6:11 ` [PATCH 07/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for ARL Dapeng Mi
2026-05-15  6:40   ` sashiko-bot
2026-05-19  7:12     ` Mi, Dapeng
2026-05-15  6:11 ` [PATCH 08/11] perf/x86/intel: Update event constraints for PTL Dapeng Mi
2026-05-15  6:11 ` [PATCH 09/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for NVL Dapeng Mi
2026-05-15  6:11 ` [PATCH 10/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for SRF Dapeng Mi
2026-05-19 22:23   ` Chen, Zide
2026-05-20  2:11     ` Mi, Dapeng
2026-05-15  6:11 ` [PATCH 11/11] perf/x86/intel: Update event constraints and cache_extra_regs[] for CWF Dapeng Mi

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=cf56e302-2bfb-4632-b778-1c2a03786ef8@linux.intel.com \
    --to=dapeng1.mi@linux.intel.com \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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