• Naveen N. Rao's avatar
    perf evsel: Fix an issue where perf report fails to show the proper percentage · a4a03fc7
    Naveen N. Rao authored
    This patch fixes an issue where perf report shows nan% for certain
    perf.data 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 f3bda2c9 as the cause. However, looking back
    through the git history, I saw commit 640c03ce which seems to have
    removed the required initialization for perf_sample->period. The problem
    only started showing after commit f3bda2c9. The below patch re-introduces
    the initialization and it fixes the problem for me.
    
    With the below patch, for the same perf.data:
    
      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 640c03ce
    v2.6.37-rc3-83-g640c03ce
    
    Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Robert Richter <robert.richter@amd.com>
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Cc: stable@kernel.org
    Link: http://lkml.kernel.org/r/20120203170113.5190.25558.stgit@localhost6.localdomain6Signed-off-by: default avatarNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    a4a03fc7
evsel.c 13.7 KB