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

Some "two code" events aren't supported with libpfc #35

Open
travisdowns opened this issue Feb 27, 2018 · 0 comments
Open

Some "two code" events aren't supported with libpfc #35

travisdowns opened this issue Feb 27, 2018 · 0 comments

Comments

@travisdowns
Copy link
Owner

travisdowns commented Feb 27, 2018

If you include on the command line:

--timer=libpfc --extra-events=FRONTEND_RETIRED.L1I_MISS

You'll see this output:

Event 'FRONTEND_RETIRED.L1I_MISS' resolved to 'skl::FRONTEND_RETIRED:L1I_MISS:k=1:u=1:e=0:i=0:c=0:t=0:intx=0:intxcp=0:fe_thres=0, short name: 'FRONTE' with code 0x5301c6
Event 'FRONTEND_RETIRED.L1I_MISS' resolved to 'skl::FRONTEND_RETIRED:L1I_MISS:k=1:u=1:e=0:i=0:c=0:t=0:intx=0:intxcp=0:fe_thres=0, short name: 'FRONTE' with code 0x12
WARNING: MULTIPLE CODES FOR 'FRONTEND_RETIRED.L1I_MISS'

The problem is that the FRONTEND_RETIRED.L1I_MISS event needs programming of both the usual perf event select MSR (code 0x5301c6) as well programming the special MSR_PEBS_FRONTEND MSR with 0x12 (the second code) to implement the L1I_MISS part. Without this, the event will do something unknown depending on the existing value of MSR_PEBS_FRONTEND (presumably).

An apparent workaround is to use perf stat -e to record the event once - this sets the MSR_PEBS_FRONTEND MSR, which I guess gets left alone after, and after that running uarch-bench in the normal way without peft appears to just work. Evidently not a good long term solution!

@travisdowns travisdowns changed the title Some events "two code" events aren't support with libpfc Some "two code" events aren't support with libpfc Mar 12, 2018
@travisdowns travisdowns changed the title Some "two code" events aren't support with libpfc Some "two code" events aren't supported with libpfc Mar 12, 2018
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

No branches or pull requests

1 participant