Re: [linus:master] [perf vendor events intel] 31efbec216: perf-stat-tests.UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU.fail

From: Mi, Dapeng

Date: Thu Nov 05 2026 - 00:42:11 EST



On 11/5/2026 12:22 PM, Ian Rogers wrote:
> On Wed, Nov 4, 2026 at 5:47 PM kernel test robot <yi1.lai@xxxxxxxxx> wrote:
>>
>>
>> Hello,
>>
>> kernel test robot noticed "perf-stat-tests.UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU.fail" on:
>>
>> commit: 31efbec2161d2d31b020b086958e41f35f070a38 ("perf vendor events intel: Update sapphirerapids events from 1.39 to 1.40") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
>>
>> [test failed on linux-next/master 7649ba73f9e7e1e04d0b46213e39c79ae09dd55c]
>>
>> in testcase: perf-stat-tests
>> with following parameters:
>>
>>
>> config: x86_64-rhel-9.4-bpf
>> compiler: gcc-14
>> test machine: 224 threads 2 sockets Intel(R) Xeon(R) Platinum 8480CTDX (Sapphire Rapids) with 256G memory
>>
>> (please refer to attached dmesg/kmsg for entire log/backtrace)
>>
>>
>> If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
>> | Reported-by: kernel test robot <yi1.lai@xxxxxxxxx>
>> | Closes: https://lore.kernel.org/oe-lkp/202611050912.2cdf1ff5-lkp@xxxxxxxxx
>>
>>
>> EventName: UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU
>> 2026-10-05 17:15:24 perf stat -e UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU -a sleep 0.1
>> event syntax error: 'UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ Bad event name
>>
>> Unable to find event on a PMU of 'UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU'
> Ok, this is an ugly issue. When we fixed the issue so that umasks of 0
> weren't dropped, we added new umasks:
> https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=31efbec2161d2d31b020b086958e41f35f070a38
> ```
> ...
> @@ -1923,6 +1974,7 @@
> "PerPkg": "1",
> "PortMask": "0x0000",
> "PublicDescription": "UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU",
> + "UMask": "0x7000000",
> ...
> ```
> The umask calculation is odd:
> https://github.com/intel/perfmon/blob/main/scripts/create_perf_json.py#L361
> ```
> # Combine the umask with the umask_ext. We don't know the
> # width of the umask as we concatenate the strings, removing
> # "0x"
> if umask_ext:
> self.umask = umask_ext + self.umask[2:] if self.umask else
> umask_ext + "00"
> ```
> For Sapphire Rapids the UMaskExt is:
> https://github.com/intel/perfmon/blob/main/SPR/events/sapphirerapids_uncore_experimental.json#L17422
> ```
> ...
> {
> "Unit": "IIO",
> "EventCode": "0x8f",
> "UMask": "0x00",
> "PortMask": "0x0000",
> "FCMask": "0x00",
> "UMaskExt": "0x00070000",
> "EventName": "UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU",
> "BriefDescription": "ITC address map 1",
> "PublicDescription": "UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU",
> "Counter": "0,1,2,3",
> "ELLC": "0",
> "Filter": "na",
> "ExtSel": "0",
> "Deprecated": "0",
> "FILTER_VALUE": "0",
> "CounterType": "PGMABLE"
> },
> ...
> ```
> So that's hex 7 followed by 4 zeros. In the generated perf json it is
> hex 7 followed by 6 zeros as we concatenated the UMask's 00 to the
> front.
>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
> This error indicates that the UMask for the IIO PMU only expects
> values from 0 to 255.

+ Zide, Luis

According to current uncore driver, SPR IIO supports the extended umask
field which locates at bits [50:32], so the UMaskExt data of
UNC_IIO_NUM_TGT_MATCHED_REQ_OF_CPU looks correct. I suppose we should not
or could be very hard to check the valid range of umaskext in perf tools.
Currently different uncore PMUs may have different umaskext layout and the
umaskext of some uncore events could be very large.

Currently the Intel uncore driver would validate the umask/umaskext from
user space. It would be good enough.

@Luis, @Edward, please double confirm. Thanks.


>
> So something is wrong in how we interpret the UMask and UMaskExt for
> Sapphire Rapids' IIO. Could someone from Intel take a look? Is the
> problem in the original perfmon event json, is there a different way
> to encode the UMaskExt for the IIO on SPR or is the IIO PMU on SPR
> constraining the umask too much?
>
> Thanks,
> Ian
>
>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
>>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
>>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
>>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
>>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
>>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
>>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
>>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
>>
>> event syntax error: '..O_NUM_TGT_MATCHED_REQ_OF_CPU'
>> \___ value too big for format (umask), maximum is 255
>> Run 'perf list' for a list of valid events
>>
>> Usage: perf stat [<options>] [<command>]
>>
>> -e, --event <event> event selector. use 'perf list' to list available events
>>
>>
>> The kernel config and materials to reproduce are available at:
>> https://download.01.org/0day-ci/archive/20261105/202611050912.2cdf1ff5-lkp@xxxxxxxxx
>>
>>
>> --
>> 0-DAY CI Kernel Test Service
>> https://github.com/intel/lkp-tests/wiki
>>
>>