-
Notifications
You must be signed in to change notification settings - Fork 55
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
Reading perf results of Linux perf 6.x #179
Comments
These warnings looks fairly harmless to be fair. This line
suggests there should be 9k events correctly parsed and mapped. Can you attach a perf.data file so we can reproduce and narrow it down? FWIW, internally we're using perf 6.10 and it's not causing problems. |
$ perf --version
perf` version 6.6.57
# perf_to_profille compiled from head ( f76cd4dd1e85bb54d60ea3fe69f92168fdf94edb)
# pprof compiled from fa3061bff0bcf0d611f07dbdba73665bd2bbac97
# switch off address randomization with echo 0 > /proc/sys/kernel/randomize_va_space
perf record -Fmax -- <commandline>
# perf report shows
# 15 cpu_atom/cycles:Pu/ ▒
# 82K cpu_core/cycles:Pu/ command line or the program does not really matter, but here in a personal project
Yet with the same perf.data (attached as perf.data.gz ),
Maybe it sis the difference between the counters
|
Is this one of the Intel hybrid CPUs? If yes, then you are probably seeing only samples from the first PMU. |
Yes indeed, this was on my Laptop with an i7-1280P that has 'performance cores' and 'efficiency cores' (if this is what you mean with hybrid CPU). And looks like changing the |
Perhaps the default sample_index could be some aggregate, e.g. pseudocode |
When I opened your profile with the internal pprof, both CLI and web, it defaulted to sample_index 3 for me.
This is not trivial in the general case. The perf.data file looks like it contains multiple events and it doesn't always make sense to aggregate them. For example, you could collect cycles and cache misses. You don't want to aggregate them, but you can use the sample_index to select the right metric. This is easier with the web interface where you have a drop-down selector to select from the available metrics. Not saying it cannot be done, but we need to understand when the events are measuring the same event on different PMUs. The Intel implementation for hybrid CPUs uses different PMUs for each core type. On ARM you have a single PMU and one event with samples from all cores. |
ok, so maybe there is a piece of code in the internal version that did not make it to external perf_data_converter/pprof yet ? |
Last time I used the
perf_data_converter
it worked well with Linux perf 5 something.Now, the oldest version I can install on my machine is
... but
perf_to_profile
is not happy with it:The resulting output is not useful to
pprof
, e.g.top
just emits an empty line.What is the oldest supported version of
perf
? Or rather: what would it take to adapt it to the latest perf format ?The text was updated successfully, but these errors were encountered: