Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

perf evsel: Fix an issue where perf report fails to show the proper p…


This patch fixes an issue where perf report shows nan% for certain files. The below is from a report for a do_fork probe:

   -nan%           sshd  [kernel.kallsyms]  [k] do_fork
   -nan%    packagekitd  [kernel.kallsyms]  [k] do_fork
   -nan%    dbus-daemon  [kernel.kallsyms]  [k] do_fork
   -nan%           bash  [kernel.kallsyms]  [k] do_fork

A git bisect shows commit f3bda2c as the cause. However, looking back
through the git history, I saw commit 640c03c which seems to have
removed the required initialization for perf_sample->period. The problem
only started showing after commit f3bda2c. The below patch re-introduces
the initialization and it fixes the problem for me.

With the below patch, for the same

  73.08%             bash  [kernel.kallsyms]  [k] do_fork
   8.97%      11-dhclient  [kernel.kallsyms]  [k] do_fork
   6.41%             sshd  [kernel.kallsyms]  [k] do_fork
   3.85%        20-chrony  [kernel.kallsyms]  [k] do_fork
   2.56%         sendmail  [kernel.kallsyms]  [k] do_fork

This patch applies over current linux-tip commit 9949284.

Problem introduced in:

$ git describe 640c03c

Cc: Ananth N Mavinakayanahalli <>
Cc: Ingo Molnar <>
Cc: Robert Richter <>
Cc: Srikar Dronamraju <>
Signed-off-by: Naveen N. Rao <>
Signed-off-by: Arnaldo Carvalho de Melo <>
  • Loading branch information...
commit a4a03fc7ef89020baca4f19174e6a43767c6d78a 1 parent bf32c9e
Naveen N. Rao authored Arnaldo Carvalho de Melo committed
Showing with 1 addition and 0 deletions.
  1. +1 −0  tools/perf/util/evsel.c
1  tools/perf/util/evsel.c
@@ -463,6 +463,7 @@ int perf_event__parse_sample(const union perf_event *event, u64 type,
memset(data, 0, sizeof(*data));
data->cpu = data->pid = data->tid = -1;
data->stream_id = data->id = data->time = -1ULL;
+ data->period = 1;
if (event->header.type != PERF_RECORD_SAMPLE) {
if (!sample_id_all)

0 comments on commit a4a03fc

Please sign in to comment.
Something went wrong with that request. Please try again.