Open mortenfc opened 9 months ago
It turns out my vm did not have virtualized performance counters enabled, so only the SW events are working. I can't enable those performance counters for some CPU/bios reason. It would be good to print an error if HW performance counters can't be measured.
I added this to debug the syscall
auto fd = static_cast(syscall(__NR_perf_event_open, &pea, pid, cpu, mFd, flags));
std::cout << "errno after syscall: " << errno << std::endl;
if (-1 == fd) {
perror("Error occurred");
return false;
}
And I get
errno after syscall: 22 Error occurred: Invalid argument errno after syscall: 2 Error occurred: No such file or directory
Why?