• A
    perf annnotate: Make __symbol__inc_addr_samples handle src->histograms == NULL · 8d628d26
    Arnaldo Carvalho de Melo 提交于
    Making it a bit more robust, this took place here when a sample appeared
    right after:
    
      ffffffff8a925000 D __nosave_end
    
    And before the next considered symbol, which, using kallsyms make us
    over guess the size of __nosave_end, and then the sequence:
    
      hist_entry__inc_addr_samples ->
        symbol__inc_addr_samples ->
          symbol__hists ->
            annotated_source__alloc_histograms
    
    Ends up not liking to allocate gigabytes of ram for annotation...
    
    This will be alleviated by considering BSS symbols, which we should but
    don't so far, and then we should investigate those samples further.
    
    The testcase was to have:
    
       perf top -e cycles/call-graph=fp/,cache-misses/call-graph=dwarf/,instructions
    
    Running for a while till it segfaulted trying to access NULL notes->src->histograms.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-ndfjtpiop3tdcnyjgp320ra8@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    8d628d26
annotate.c 67.4 KB