• Andres Freund's avatar
    perf c2c: Fix return type for histogram sorting comparision functions · c1c8013e
    Andres Freund authored
    Commit 722ddfde ("perf tools: Fix time sorting") changed - correctly
    so - hist_entry__sort to return int64. Unfortunately several of the
    builtin-c2c.c comparison routines only happened to work due the cast
    caused by the wrong return type.
    
    This causes meaningless ordering of both the cacheline list, and the
    cacheline details page. E.g a simple:
    
      perf c2c record -a sleep 3
      perf c2c report
    
    will result in cacheline table like
      =================================================
                 Shared Data Cache Line Table
      =================================================
      #
      #        ------- Cacheline ----------    Total     Tot  - LLC Load Hitm -  - Store Reference -  - Load Dram -     LLC  Total  - Core Load Hit -  - LLC Load Hit -
      # Index         Address  Node  PA cnt  records    Hitm  Total  Lcl    Rmt  Total  L1Hit  L1Miss     Lcl   Rmt  Ld Miss  Loads    FB    L1   L2     Llc      Rmt
      # .....  ..............  ....  ......  .......  ......  .....  .....  ...  ....   .....  ......  ......  ....  ......   .....  .....  ..... ...  ....     .......
    
            0  0x7f0d27ffba00   N/A       0       52   0.12%     13      6    7    12      12       0       0     7      14      40      4     16    0    0           0
            1  0x7f0d27ff61c0   N/A       0     6353  14.04%   1475    801  674   779     779       0       0   718    1392    5574   1299   1967    0  115           0
            2  0x7f0d26d3ec80   N/A       0       71   0.15%     16      4   12    13      13       0       0    12      24      58      1     20    0    9           0
            3  0x7f0d26d3ec00   N/A       0       98   0.22%     23     17    6    19      19       0       0     6      12      79      0     40    0   10           0
    
    i.e. with the list not being ordered by Total Hitm.
    
    Fixes: 722ddfde ("perf tools: Fix time sorting")
    Signed-off-by: default avatarAndres Freund <andres@anarazel.de>
    Tested-by: default avatarMichael Petlan <mpetlan@redhat.com>
    Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: stable@vger.kernel.org # v3.16+
    Link: http://lore.kernel.org/lkml/20200109043030.233746-1-andres@anarazel.deSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    c1c8013e
builtin-c2c.c 70.3 KB