perf_event_tests icon indicating copy to clipboard operation
perf_event_tests copied to clipboard

Add test showing rdpmc of hardware counters occasionally jumping by 2^48

Open nkurz opened this issue 9 years ago • 0 comments

I've been having problems using rdpmc to read hardware counters that are set with perf_event_open(). I think the issue is that 'offset' field in the mmap buffer periodically periodically has its high bit set.

Here's what I see when I run this test program on Skylake with Linux 4.4.4:

nate@skylake:~/git/perf_event_tests/tests/rdpmc$ rdpmc_jump Testing if hardware counters exhibit unexpected jumps with rdpmc. Trying up to 100000 iterations (10000000 allowed per iteration) Got spurious count of 281474977720397 in iteration 230 Max count for previous iterations was 1010185 Testing if hardware counters exhibit unexpected jumps with rdpmc FAILED

nate@skylake:~/git/perf_event_tests/tests/rdpmc$ rdpmc_jump Testing if hardware counters exhibit unexpected jumps with rdpmc. Trying up to 100000 iterations (10000000 allowed per iteration) Got spurious count of 281474977714973 in iteration 7295 Max count for previous iterations was 1007879 Testing if hardware counters exhibit unexpected jumps with rdpmc FAILED

nkurz avatar Mar 22 '16 04:03 nkurz