• Waiman Long's avatar
    perf report: Add --max-stack option to limit callchain stack scan · 91e95617
    Waiman Long authored
    When callgraph data was included in the perf data file, it may take a
    long time to scan all those data and merge them together especially if
    the stored callchains are long and the perf data file itself is large,
    like a Gbyte or so.
    
    The callchain stack is currently limited to PERF_MAX_STACK_DEPTH (127).
    This is a large value. Usually the callgraph data that developers are
    most interested in are the first few levels, the rests are usually not
    looked at.
    
    This patch adds a new --max-stack option to perf-report to limit the
    depth of callchain stack data to look at to reduce the time it takes for
    perf-report to finish its processing. It trades the presence of trailing
    stack information with faster speed.
    
    The following table shows the elapsed time of doing perf-report on a
    perf.data file of size 985,531,828 bytes.
    
      --max_stack   Elapsed Time    Output data size
      -----------   ------------    ----------------
      not set        88.0s          124,422,651
      64             87.5s          116,303,213
      32             87.2s          112,023,804
      16             86.6s           94,326,380
      8              59.9s           33,697,248
      4              40.7s           10,116,637
      -g none        27.1s            2,555,810
    Signed-off-by: default avatarWaiman Long <Waiman.Long@hp.com>
    Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Aswin Chandramouleeswaran <aswin@hp.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Scott J Norton <scott.norton@hp.com>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/r/1382107129-2010-4-git-send-email-Waiman.Long@hp.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    91e95617
builtin-report.c 27.8 KB