linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Liang, Kan" <kan.liang@linux.intel.com>
To: Qiao Zhao <qzhao@redhat.com>
Cc: Michael Petlan <mpetlan@redhat.com>,
	alexander.shishkin@linux.intel.com, adrian.hunter@intel.com,
	linux-perf-users@vger.kernel.org, vmolnaro@redhat.com
Subject: Re: Intel Arrowlake and hwcache events
Date: Fri, 15 Nov 2024 08:36:55 -0500	[thread overview]
Message-ID: <d3fffe92-8e64-423d-8ab7-075dfaa8a0dd@linux.intel.com> (raw)
In-Reply-To: <CAATMXfkt28rjB03xFEcYzvhWsgtCe9Fp6eaFgDMEJq3c8_2hAQ@mail.gmail.com>



On 2024-11-15 12:43 a.m., Qiao Zhao wrote:
> On Thu, Nov 14, 2024 at 10:33 PM Liang, Kan <kan.liang@linux.intel.com>
> wrote:
> 
>>
>>
>> On 2024-11-14 4:54 a.m., Michael Petlan wrote:
>>> Hello!
>>>
>>> Qiao Zhao (CC'd) has found out that there are no hwcache events available
>>> on an Arrowlake system he was testing perf on.
>>
>> There are several variants for Arrowlake.
>> #define INTEL_ARROWLAKE_H               IFM(6, 0xC5)
>> #define INTEL_ARROWLAKE                 IFM(6, 0xC6)
>> #define INTEL_ARROWLAKE_U               IFM(6, 0xB5)
>>
>> The INTEL_ARROWLAKE should be supported in 6.10 and later.
>> The INTEL_ARROWLAKE_H was just merged and should be available in the
>> upcoming 6.13-rc.
>>
>> https://lore.kernel.org/lkml/20240808140210.1666783-1-dapeng1.mi@linux.intel.com/
>>
>> The patch to support INTEL_ARROWLAKE_U hasn't been posted yet.
>>
>> Which system were you testing?
>>
> 
> Hi Kan, thank you for explaining this. I checked my testing history, and I
> happened to use Arrow Lake-U for testing.

Thanks for the confirmation.
I will find a machine and post a patch to fix it ASAP.

Thanks,
Kan

> # lscpu
> Architecture:             x86_64
>   CPU op-mode(s):         32-bit, 64-bit
>   Address sizes:          46 bits physical, 48 bits virtual
>   Byte Order:             Little Endian
> CPU(s):                   14
>   On-line CPU(s) list:    0-13
> Vendor ID:                GenuineIntel
>   BIOS Vendor ID:         Intel(R) Corporation
>   Model name:             Genuine Intel(R) 0000
>     BIOS Model name:      Genuine Intel(R) 0000
>     CPU family:           6
>     Model:                197
>     Thread(s) per core:   1
>     Core(s) per socket:   14
>     Socket(s):            1
>     Stepping:             2
> 
> 
>>
>>> We have found out that it
>>> does not work even on 6.12.0-rc6+. Are there still drivers that haven't
>>> been merged yet?
>>>
>>> Happens that nothing matches in this loop:
>>
>> The HW cache events are usually model specific events. You cannot see it
>> unless there is specific support.
>>
>> You may also get more clues via dmesg | grep PMU.
>> If you see "generic architected perfmon", it means the specific support
>> isn't ready in the kernel.
>>
> 
> Understand! Thank you Ken.
> 
> - Qiao
> 
> 
>>
>> Thanks,
>> Kan
>>>
>>> int print_hwcache_events(const struct print_callbacks *print_cb, void
>> *print_state)
>>> [...]
>>> 305           for (int type = 0; type < PERF_COUNT_HW_CACHE_MAX; type++)
>> {
>>> 306           for (int op = 0; op < PERF_COUNT_HW_CACHE_OP_MAX; op++) {
>>> 307                   /* skip invalid cache type */
>>> 308                   if (!evsel__is_cache_op_valid(type, op))
>>> 309                                   continue;
>>> 310
>>> 311                   for (int res = 0; res <
>> PERF_COUNT_HW_CACHE_RESULT_MAX; res++) {
>>> 312                   char name[64];
>>> 313                           char alias_name[128];
>>> 314                           __u64 config;
>>> 315                           int ret;
>>> 316
>>> 317                           __evsel__hw_cache_type_op_res_name(type,
>> op, res,
>>> 318
>>                              name, sizeof(name));
>>> 319
>>> 320                           ret =
>> parse_events__decode_legacy_cache(name, pmu->type,
>>> 321
>>                              &config);
>>> 322                           if (ret ||
>> !is_event_supported(PERF_TYPE_HW_CACHE, config))
>>> 323                                   continue;
>>>
>>> Thanks,
>>> Michael
>>>
>>>
>>
>>
> 


  parent reply	other threads:[~2024-11-15 13:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-14  9:54 Intel Arrowlake and hwcache events Michael Petlan
2024-11-14 14:32 ` Liang, Kan
     [not found]   ` <CAATMXfkt28rjB03xFEcYzvhWsgtCe9Fp6eaFgDMEJq3c8_2hAQ@mail.gmail.com>
2024-11-15 13:36     ` Liang, Kan [this message]
2024-11-19  0:50       ` Namhyung Kim
2024-11-19  1:26         ` Liang, Kan
2024-11-20  2:50           ` Qiao Zhao

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=d3fffe92-8e64-423d-8ab7-075dfaa8a0dd@linux.intel.com \
    --to=kan.liang@linux.intel.com \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mpetlan@redhat.com \
    --cc=qzhao@redhat.com \
    --cc=vmolnaro@redhat.com \
    /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;
as well as URLs for NNTP newsgroup(s).