1. 21 1月, 2021 2 次提交
  2. 11 11月, 2020 3 次提交
  3. 15 10月, 2020 8 次提交
    • L
      perf c2c: Add metrics "RMT Load Hit" · 91d933c2
      Leo Yan 提交于
      The metrics "LLC Ld Miss" and "Load Dram" overlap with each other for
      accouting items:
      
        "LLC Ld Miss" = "lcl_dram" + "rmt_dram" + "rmt_hit" + "rmt_hitm"
        "Load Dram"   = "lcl_dram" + "rmt_dram"
      
      Furthermore, the metrics "LLC Ld Miss" is not directive to show
      statistics due to it contains summary value and cannot give out
      breakdown details.
      
      For this reason, add a new metrics "RMT Load Hit" which is used to
      present the remote cache hit; it contains two items:
      
        "RMT Load Hit" = remote hit ("rmt_hit") + remote hitm ("rmt_hitm")
      
      As result, the metrics "LLC Ld Miss" is perfectly divided into two
      metrics "RMT Load Hit" and "Load Dram".  It's not necessary to keep
      metrics "LLC Ld Miss", so remove it.
      
      Before:
      
        #        ----------- Cacheline ----------      Tot  ------- Load Hitm -------    Total    Total    Total  ---- Stores ----  ----- Core Load Hit -----  - LLC Load Hit --      LLC  --- Load Dram ----
        # Index             Address  Node  PA cnt     Hitm    Total  LclHitm  RmtHitm  records    Loads   Stores    L1Hit   L1Miss       FB       L1       L2    LclHit  LclHitm  Ld Miss       Lcl       Rmt
        # .....  ..................  ....  ......  .......  .......  .......  .......  .......  .......  .......  .......  .......  .......  .......  .......  ........  .......  .......  ........  ........
        #
              0      0x55f07d580100     0    1499   85.89%      481      481        0     7243     3879     3364     2599      765      548     2615       66       169      481        0         0         0
              1      0x55f07d580080     0       1   13.93%       78       78        0      664      664        0        0        0      187      361       27        11       78        0         0         0
              2      0x55f07d5800c0     0       1    0.18%        1        1        0      405      405        0        0        0      131        0       10       263        1        0         0         0
      
      After:
      
        #        ----------- Cacheline ----------      Tot  ------- Load Hitm -------    Total    Total    Total  ---- Stores ----  ----- Core Load Hit -----  - LLC Load Hit --  - RMT Load Hit --  --- Load Dram ----
        # Index             Address  Node  PA cnt     Hitm    Total  LclHitm  RmtHitm  records    Loads   Stores    L1Hit   L1Miss       FB       L1       L2    LclHit  LclHitm    RmtHit  RmtHitm       Lcl       Rmt
        # .....  ..................  ....  ......  .......  .......  .......  .......  .......  .......  .......  .......  .......  .......  .......  .......  ........  .......  ........  .......  ........  ........
        #
              0      0x55f07d580100     0    1499   85.89%      481      481        0     7243     3879     3364     2599      765      548     2615       66       169      481         0        0         0         0
              1      0x55f07d580080     0       1   13.93%       78       78        0      664      664        0        0        0      187      361       27        11       78         0        0         0         0
              2      0x55f07d5800c0     0       1    0.18%        1        1        0      405      405        0        0        0      131        0       10       263        1         0        0         0         0
      Signed-off-by: NLeo Yan <leo.yan@linaro.org>
      Tested-by: NJoe Mario <jmario@redhat.com>
      Acked-by: NJiri Olsa <jolsa@redhat.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/r/20201014050921.5591-9-leo.yan@linaro.org
      91d933c2
    • L
      perf c2c: Correct LLC load hit metrics · 77c15869
      Leo Yan 提交于
      "rmt_hit" is accounted into two metrics: one is accounted into the
      metrics "LLC Ld Miss" (see the function llc_miss() for calculation
      "llcmiss"); and it's accounted into metrics "LLC Load Hit".  Thus,
      for the literal meaning, it is contradictory that "rmt_hit" is
      accounted for both "LLC Ld Miss" (LLC miss) and "LLC Load Hit"
      (LLC hit).
      
      Thus this is easily to introduce confusion: "LLC Load Hit" gives
      impression that all items belong to it are LLC hit; in fact "rmt_hit"
      is LLC miss and remote cache hit.
      
      To give out clear semantics for metric "LLC Load Hit", "rmt_hit" is
      moved out from it and changes "LLC Load Hit" to contain two items:
      
        LLC Load Hit = LLC's hit ("ld_llchit") + LLC's hitm ("lcl_hitm")
      
      For output alignment, adjusts the header for "LLC Load Hit".
      Signed-off-by: NLeo Yan <leo.yan@linaro.org>
      Tested-by: NJoe Mario <jmario@redhat.com>
      Acked-by: NJiri Olsa <jolsa@redhat.com>
      Link: https://lore.kernel.org/r/20201014050921.5591-8-leo.yan@linaro.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      77c15869
    • L
      perf c2c: Change header for LLC local hit · ed626a3e
      Leo Yan 提交于
      Replace the header string "Lcl" with "LclHit", which is more explicit
      to express the event type is LLC local hit.
      Signed-off-by: NLeo Yan <leo.yan@linaro.org>
      Tested-by: NJoe Mario <jmario@redhat.com>
      Acked-by: NJiri Olsa <jolsa@redhat.com>
      Link: https://lore.kernel.org/r/20201014050921.5591-7-leo.yan@linaro.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ed626a3e
    • L
      perf c2c: Use more explicit headers for HITM · 0fbe2fe9
      Leo Yan 提交于
      Local and remote HITM use the headers 'Lcl' and 'Rmt' respectively,
      suppose if we want to extend the tool to display these two dimensions
      under any one metrics, users cannot understand the semantics if only
      based on the header string 'Lcl' or 'Rmt'.
      
      To explicit express the meaning for HITM items, this patch changes the
      headers string as "LclHitm" and "RmtHitm", the strings are more readable
      and this allows to extend metrics for using HITM items.
      Signed-off-by: NLeo Yan <leo.yan@linaro.org>
      Tested-by: NJoe Mario <jmario@redhat.com>
      Acked-by: NJiri Olsa <jolsa@redhat.com>
      Link: https://lore.kernel.org/r/20201014050921.5591-6-leo.yan@linaro.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      0fbe2fe9
    • L
      perf c2c: Change header from "LLC Load Hitm" to "Load Hitm" · fdd32d7e
      Leo Yan 提交于
      The metrics "LLC Load Hitm" contains two items: one is "local Hitm" and
      another is "remote Hitm".
      
      "local Hitm" means: L3 HIT and was serviced by another processor core
      with a cross core snoop where modified copies were found; it's no doubt
      that "local Hitm" belongs to LLC access.
      
      But for "remote Hitm", based on the code in util/mem-events, it's the
      event for remote cache HIT and was serviced by another processor core
      with modified copies.  Thus the remote Hitm is a remote cache's hit and
      actually it's LLC load miss.
      
      Now the display format gives users the impression that "local Hitm" and
      "remote Hitm" both belong to the LLC load, but this is not the fact as
      described.
      
      This patch changes the header from "LLC Load Hitm" to "Load Hitm", this
      can avoid the give the wrong impression that all Hitm belong to LLC.
      Signed-off-by: NLeo Yan <leo.yan@linaro.org>
      Tested-by: NJoe Mario <jmario@redhat.com>
      Acked-by: NJiri Olsa <jolsa@redhat.com>
      Link: https://lore.kernel.org/r/20201014050921.5591-5-leo.yan@linaro.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      fdd32d7e
    • L
      perf c2c: Organize metrics based on memory hierarchy · 6d662d73
      Leo Yan 提交于
      The metrics are not organized based on memory hierarchy, e.g. the tool
      doesn't organize the metrics order based on memory nodes from the close
      node (e.g. L1/L2 cache) to far node (e.g. L3 cache and DRAM).
      
      To output metrics with more friendly form, this patch refines the
      metrics order based on memory hierarchy:
      
        "Core Load Hit" => "LLC Load Hit" => "LLC Ld Miss" => "Load Dram"
      Signed-off-by: NLeo Yan <leo.yan@linaro.org>
      Tested-by: NJoe Mario <jmario@redhat.com>
      Acked-by: NJiri Olsa <jolsa@redhat.com>
      Link: https://lore.kernel.org/r/20201014050921.5591-4-leo.yan@linaro.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      6d662d73
    • L
      perf c2c: Display "Total Stores" as a standalone metrics · 4f28641b
      Leo Yan 提交于
      The total stores is displayed under the metrics "Store Reference", to
      output the same format with total records and all loads, extract the
      total stores number as a standalone metrics "Total Stores".
      
      After this patch, the tool shows the summary numbers ("Total records",
      "Total loads", "Total Stores") in the unified form.
      
      Before:
      
        #        ----------- Cacheline ----------      Tot  ----- LLC Load Hitm -----    Total    Total  ---- Store Reference ----  --- Load Dram ----      LLC  ----- Core Load Hit -----  -- LLC Load Hit --
        # Index             Address  Node  PA cnt     Hitm    Total      Lcl      Rmt  records    Loads    Total    L1Hit   L1Miss       Lcl       Rmt  Ld Miss       FB       L1       L2       Llc       Rmt
        # .....  ..................  ....  ......  .......  .......  .......  .......  .......  .......  .......  .......  .......  ........  ........  .......  .......  .......  .......  ........  ........
        #
              0      0x55f07d580100     0    1499   85.89%      481      481        0     7243     3879     3364     2599      765         0         0        0      548     2615       66       169         0
              1      0x55f07d580080     0       1   13.93%       78       78        0      664      664        0        0        0         0         0        0      187      361       27        11         0
              2      0x55f07d5800c0     0       1    0.18%        1        1        0      405      405        0        0        0         0         0        0      131        0       10       263         0
      
      After:
      
        #        ----------- Cacheline ----------      Tot  ----- LLC Load Hitm -----    Total    Total    Total  ---- Stores ----  --- Load Dram ----      LLC  ----- Core Load Hit -----  -- LLC Load Hit --
        # Index             Address  Node  PA cnt     Hitm    Total      Lcl      Rmt  records    Loads   Stores    L1Hit   L1Miss       Lcl       Rmt  Ld Miss       FB       L1       L2       Llc       Rmt
        # .....  ..................  ....  ......  .......  .......  .......  .......  .......  .......  .......  .......  .......  ........  ........  .......  .......  .......  .......  ........  ........
        #
              0      0x55f07d580100     0    1499   85.89%      481      481        0     7243     3879     3364     2599      765         0         0        0      548     2615       66       169         0
              1      0x55f07d580080     0       1   13.93%       78       78        0      664      664        0        0        0         0         0        0      187      361       27        11         0
              2      0x55f07d5800c0     0       1    0.18%        1        1        0      405      405        0        0        0         0         0        0      131        0       10       263         0
      Signed-off-by: NLeo Yan <leo.yan@linaro.org>
      Tested-by: NJoe Mario <jmario@redhat.com>
      Acked-by: NJiri Olsa <jolsa@redhat.com>
      Link: https://lore.kernel.org/r/20201014050921.5591-3-leo.yan@linaro.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      4f28641b
    • L
      perf c2c: Display the total numbers continuously · b596e979
      Leo Yan 提交于
      To view the statistics with "breakdown" mode, it's good to show the
      summary numbers for the total records, all stores and all loads, then
      the sequential conlumns can be used to break into more detailed items.
      
      To achieve this purpose, this patch displays the summary numbers for
      records/stores/loads continuously and places them before breakdown
      items, this can allow uses to easily read the summarized statistics.
      Signed-off-by: NLeo Yan <leo.yan@linaro.org>
      Tested-by: NJoe Mario <jmario@redhat.com>
      Acked-by: NJiri Olsa <jolsa@redhat.com>
      Link: https://lore.kernel.org/r/20201014050921.5591-2-leo.yan@linaro.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      b596e979
  4. 14 10月, 2020 1 次提交
  5. 23 6月, 2020 1 次提交
  6. 28 5月, 2020 1 次提交
  7. 06 5月, 2020 1 次提交
  8. 30 4月, 2020 1 次提交
  9. 18 4月, 2020 1 次提交
  10. 15 1月, 2020 1 次提交
    • A
      perf c2c: Fix return type for histogram sorting comparision functions · c1c8013e
      Andres Freund 提交于
      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: NAndres Freund <andres@anarazel.de>
      Tested-by: NMichael Petlan <mpetlan@redhat.com>
      Acked-by: NJiri 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: NArnaldo Carvalho de Melo <acme@redhat.com>
      c1c8013e
  11. 06 1月, 2020 1 次提交
  12. 15 10月, 2019 1 次提交
  13. 21 9月, 2019 1 次提交
  14. 20 9月, 2019 1 次提交
  15. 01 9月, 2019 3 次提交
  16. 30 8月, 2019 2 次提交
  17. 26 8月, 2019 1 次提交
  18. 23 8月, 2019 1 次提交
  19. 22 8月, 2019 1 次提交
  20. 30 7月, 2019 3 次提交
  21. 09 7月, 2019 1 次提交
  22. 07 3月, 2019 1 次提交
  23. 23 2月, 2019 1 次提交
    • J
      perf data: Add global path holder · 2d4f2799
      Jiri Olsa 提交于
      Add a 'path' member to 'struct perf_data'. It will keep the configured
      path for the data (const char *). The path in struct perf_data_file is
      now dynamically allocated (duped) from it.
      
      This scheme is useful/used in following patches where struct
      perf_data::path holds the 'configure' directory path and struct
      perf_data_file::path holds the allocated path for specific files.
      
      Also it actually makes the code little simpler.
      Signed-off-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/20190221094145.9151-3-jolsa@kernel.org
      [ Fixup data-convert-bt.c missing conversion ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      2d4f2799
  24. 06 2月, 2019 2 次提交