Closed ntippman closed 10 months ago
Thanks for reporting.
That's my major problem with the counter registers being moved to MMIO space for ICX and newer. You have to access /dev/mem
and no further security checks happen. E.g. I had problems when running on SPR because I used a simple memcpy
for a struct (3 uint64_t
values) and depending on the data accesses used by memcpy
internally, the copy worked or not. I had to copy it manually in uint8_t
steps to make it work reliably on all systems. There is no documentation how to access these registers, so I commonly assume I can use one full width read/write. Even on the most recent SPR arch, I found 64 bit registers that had to be read/written with 2x 32bit accesses.
It seems the MBOX
es are only opened for socket 1 but addEventSet
checks them on socket 0:
DEBUG - [access_x86_mmio_init:409] access_x86_mmio_init for socket 1
[...]
DEBUG - [perfmon_addEventSet:2481] Added event CPU_CLK_UNHALTED_REF for counter FIXC2 to group 0
DEBUG - [access_x86_msr_read:215] Read MSR counter 0x38D with RDMSR instruction on CPU 0
DEBUG - [access_x86_msr_write:262] Write MSR counter 0x38D with WRMSR instruction on CPU 0 data 0x0
DEBUG - [perfmon_addEventSet:2481] Added event TOPDOWN_SLOTS for counter FIXC3 to group 0
There is not access_x86_mmio_init for socket 0
in the logs.
Describe the bug likwid-perfctr segfaults when trying to measure MEM on a 2x Intel 8360Y system in direct mode. The accessdaemon-mode works just fine.
To Reproduce
To Reproduce with a LIKWID command Please supply the output of the command with
-V 3
added to the command:Full output