[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPhsuW6+7ULMQFLbmOsBzYAdd8LMV54h_ynfkGDxd_oH6O8cww@mail.gmail.com>
Date: Thu, 25 Jul 2024 09:38:42 -0700
From: Song Liu <song@...nel.org>
To: "Liang, Kan" <kan.liang@...ux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>, Adrian Hunter <adrian.hunter@...el.com>,
linux-perf-users@...r.kernel.org, open list <linux-kernel@...r.kernel.org>,
Ian Rogers <irogers@...gle.com>, Namhyung Kim <namhyung@...nel.org>, Jiri Olsa <jolsa@...nel.org>,
jonesz@...a.com
Subject: Re: Some unc_cha_tor_* events appear to be "not supported"?
Hi Kan,
Thanks for your quick response!
On Thu, Jul 25, 2024 at 6:37 AM Liang, Kan <kan.liang@...ux.intel.com> wrote:
>
>
>
> On 2024-07-24 6:39 p.m., Song Liu wrote:
> > Hi folks,
> >
> > We noticed that some unc_cha_tor_occupancy and unc_cha_tor_inserts events
> > appear to be "not supported" and always counting zero (see an example below).
> > Is this a known issue? We are testing with 6.10 kernel and perf.
> >
> > Thanks,
> > Song
> >
> >
> > [root@...neltest008.05.atn6 ~]# ./perf list | grep
> > unc_cha_tor_occupancy.ia_hit_llcprefdrd
> > unc_cha_tor_occupancy.ia_hit_llcprefdrd
> > [root@...neltest008.05.atn6 ~]# ./perf stat -e
> > unc_cha_tor_occupancy.ia_hit_llcprefdrd -a -- sleep 1
> > WARNING: event 'N/A' not valid (bits 10,12-13,15 of config1 '4b433'
>
>
> The value '4b433' is for the 'Filter1', according to the original event
> list.
>
> https://github.com/intel/perfmon/blob/main/SKX/events/skylakex_uncore.json#L4634
>
> "EventName": "UNC_CHA_TOR_OCCUPANCY.IA_MISS_LlcPrefDRD",
> "BriefDescription": "UNC_CHA_TOR_OCCUPANCY.IA_MISS_LlcPrefDRD",
> "PublicDescription": "UNC_CHA_TOR_OCCUPANCY.IA_MISS_LlcPrefDRD",
> "Counter": "0",
> "MSRValue": "0x00",
> "ELLC": "0",
> "Filter": "Filter1",
> "ExtSel": "0",
> "Deprecated": "0",
> "FILTER_VALUE": "0x4b433"
>
> There are two filters for CHA on SKX. Each filter is 32 bits wide.
> So the Linux kernel driver uses config1 (64 bits wide) to represent both
> of them. The low 32 bits are for filter0 and high 32 bits are for filter1.
>
> It should be an issue of the convert script, which set the filter1 value
> to the low 32 bits.
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/pmu-events/arch/x86/skylakex/uncore-cache.json#n4489
>
> Can you please try the below event?
> uncore_cha/event=0x35,umask=0x11,config1=0x4b43300000000/
This appears to work. I also tried events like:
uncore_cha/UNC_CHA_TOR_OCCUPANCY.IA_MISS,config1=0x4043200000000/
uncore_cha/UNC_CHA_TOR_INSERTS.IA_MISS,config1=0x4043200000000/
Do you have an idea on how to fix the convert script? I haven't looked
into these codes.
Thanks,
Song
[...]
Powered by blists - more mailing lists