Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

nkurz
Copy link
Contributor

@nkurz nkurz commented Mar 22, 2016

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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant