• Kim Phillips's avatar
    perf tools: Add a "dso_size" sort order · b74d12d5
    Kim Phillips authored
    Add DSO size to perf report/top sort output list.
    
    This includes adding a map__size fn to map.h, which is
    approximately equal to the DSO data file_size:
    
      DSO				file size	map (end-start)	file / (end-start)
      libwebkit2gtk-4.0.so.37.24.9	43260072	41295872	95%
      libglib-2.0.so.0.5400.1		 1125680	 1118208	99%
      libc-2.26.so			 1960656 	 1925120	101%
      libdbus-1.so.3.14.13		  309456 	  303104	102%
    
    Sample output:
    
      $ ./perf report -s dso_size,dso
      Samples: 2K of event 'cycles:uppp', Event count (approx.): 128373340
      Overhead  DSO size  Shared Object
        90.62%   unknown  [unknown]
         2.87%   1118208  libglib-2.0.so.0.5400.1
         1.92%    303104  libdbus-1.so.3.14.13
         1.42%   1925120  libc-2.26.so
         0.77%  41295872  libwebkit2gtk-4.0.so.37.24.9
         0.61%    335872  libgobject-2.0.so.0.5400.1
         0.41%   1052672  libgdk-3.so.0.2200.25
         0.36%    106496  libpthread-2.26.so
         0.29%    221184  dbus-daemon
         0.17%    159744  ld-2.26.so
         0.13%     49152  libwayland-client.so.0.3.0
         0.12%   1642496  libgio-2.0.so.0.5400.1
         0.09%   73277443  libgtk-3.so.0.2200.25
         0.09%  12324864  libmozjs-52.so.0.0.0
         0.05%   4796416  perf
         0.04%    843776  libgjs.so.0.0.0
         0.03%   1409024  libmutter-clutter-1.so
    
    Committer testing:
    
    To sort by DSO size, use:
    
      # perf report -F dso_size,dso,overhead -s dso_size
      <SNIP>
         3465216  libdns-export.so.174.0.1   0.00%
         3522560  libgc.so.1.0.3             0.00%
         3538944  libbfd-2.29-13.fc27.so     0.59%
         3670016  libunistring.so.2.1.0      0.00%
         3723264  libguile-2.0.so.22.8.1     0.00%
         3776512  libgio-2.0.so.0.5400.3     0.00%
         3891200  libc-2.26.so               0.96%
         3944448  libmozjs-17.0.so           0.00%
         4218880  libperl.so.5.26.1          0.18%
         4452352  libpython2.7.so.1.0        0.02%
         4472832  perf                       0.02%
         4603904  git                        0.01%
         4751360  libcrypto.so.1.1.0g        0.00%
         5005312  libslang.so.2.3.1          0.00%
         7315456  libgtk-3.so.0.2200.26      0.09%
         8818688  i965_dri.so                2.46%
         8818688  i965_dri.so (deleted)      1.26%
        12414976  libmozjs-52.so.0.0.0       0.03%
        23642112  cc1                        2.02%
        27889664  [kernel.kallsyms]         25.41%
        80834560  libxul.so (deleted)       15.68%
        98078720  chrome                    32.03%
      1056964608  [kernel.kallsyms]          1.59%
      #
    Signed-off-by: default avatarKim Phillips <kim.phillips@arm.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jin Yao <yao.jin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
    Cc: Milian Wolff <milian.wolff@kdab.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20180327060956.1c01ebe67a2a941bb4468c6f@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    b74d12d5
map.h 7.1 KB