intel / intel/compute-runtime

[GSD-11566] Regression [security]: Sysman engine metrics do not work any more with PERFMON capability

Open
#707 9 comments 0 reactions 0 assignees View on GitHub
Component: Level Zero Sysman Status: Backlog Type: Bug
Dominant language
C++
Stars
1.4k
Forks
300
PR merge metrics
No merged PRs in 30d

Description

Somewhere between these dates / versions:
* 2024-01-11: 23.48.27912.11
* 2024-01-25: 23.52.28202.14

Sysman engine metrics stopped working: https://spec.oneapi.io/level-zero/latest/sysman/api.html#engine

I've tested this with my own `compute-runtime` builds, but it's reported to happen also between e.g. following release packages:
* https://github.com/intel/compute-runtime/releases/tag/23.35.27191.9
* https://github.com/intel/compute-runtime/releases/tag/24.05.28454.6

This regression is visible both with current Ubuntu 22.04 5.15 and its HWE kernel 6.5 (on TGL-H iGPU), and with older 5.15 internal BKC kernel (on ATS-M dGPU), so I assume it to be generic one, not related to any particular HW.

According to `strace -f -e perf_event_open`, earlier version does 36 successful calls like this:
`perf_event_open({type=0x58 /* PERF_TYPE_??? */, size=PERF_ATTR_SIZE_VER7, config=0x100007, sample_period=0, sample_type=0, read_format=PERF_FORMAT_TOTAL_TIME_ENABLED, precise_ip=0 /* arbitrary skid */, ...}, -1, 0, -1, 0) = 57`

And current version does 136 failing calls like this:
`perf_event_open({type=0x58 /* PERF_TYPE_??? */, size=PERF_ATTR_SIZE_VER7, config=0x10000b, sample_period=0, sample_type=0, read_format=PERF_FORMAT_TOTAL_TIME_ENABLED|PERF_FORMAT_GROUP, precise_ip=0 /* arbitrary skid */, ...}, -1, 0, -1, 0) = -1 ENOENT (No such file or directory)`

Looking at the arguments for all of those calls, the differences are `config` argument values being different from earlier ones in all calls, and all of them including now `PERF_FORMAT_GROUP` option.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.