linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/8] perf c2c: Refine the organization of metrics
@ 2020-10-14  5:09 Leo Yan
  2020-10-14  5:09 ` [PATCH v1 1/8] perf c2c: Display the total numbers continuously Leo Yan
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Leo Yan @ 2020-10-14  5:09 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Peter Zijlstra, Ingo Molnar,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, David Ahern, Don Zickus, Joe Mario, Al Grant,
	James Clark, linux-kernel
  Cc: Leo Yan

This patch set is to refine metrics output organization.

If we reivew the current memory metrics in Perf c2c tool, it doesn't
orgnize the metrics with directive approach; thus user needs to take
time to dig into every statistics item.  On the other hand, if use the
"summary and breakdown" approach, the output result will be easier for
reviewing by users, e.g. the output result can firstly give out the
summary values, and then the later items will breakdown into more
detailed statistics.

For this reason, this patch is to reorgnize the metrics and it only
changes for the "Shared Data Cache Line Table": it firstly displays the
summary values for total records, total loads, total stores; then it
breaks these summary values into small values, with the order from the
most near memory node ("CPU Load Hit") to more far nodes
("LLC Load Hit", "RMT Load Hit", "Load Dram").

  "LLC Load Hit" = "LclHit" + "LclHitm"

  "RMT Load Hit" = "RmtHit" + "RmtHitm" \
                                         ->  LLC Load Miss
  "Load Dram"    = "Lcl" + "Rmt"        /

Another main reason for this patch set is wanting to extend "perf c2c"
to support Arm SPE memory event, but Arm SPE doesn't contain 'HTIM' tag
in its default trace data, for this case if want to analyze cache false
sharing issue, we need to rely on LLC metrics + multi-threading info.
So this patch set can be friendly to show LLC related metrics in the
"Shared Data Cache Line Table"; for sorting cache lines with LLC metrics
which will be sent out with another separate patch set.

Before:

=================================================
           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      0x55acdcc92100     0    8197    40716   52.18%     3170     3170        0    24466    24437       29         0         0        0    16250     3349     5909        0      3822         0
      1      0x55acdcc920c0     0       1     4621   31.01%     1884     1884        0        0        0        0         0         0        0     4621      739        0        0      1998         0
      2      0x55acdcc92080     0       1     4475   16.69%     1014     1014        0        0        0        0         0         0        0     4475     2405        0        0      1056         0


After:

=================================================
           Shared Data Cache Line Table          
=================================================
#
#        ----------- 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      0x55acdcc92100     0    8197   52.18%     3170     3170        0    40716    16250    24466    24437       29     3349     5909        0      3822     3170         0        0         0         0
      1      0x55acdcc920c0     0       1   31.01%     1884     1884        0     4621     4621        0        0        0      739        0        0      1998     1884         0        0         0         0
      2      0x55acdcc92080     0       1   16.69%     1014     1014        0     4475     4475        0        0        0     2405        0        0      1056     1014         0        0         0         0


Leo Yan (8):
  perf c2c: Display the total numbers continuously
  perf c2c: Display "Total Stores" as a standalone metrics
  perf c2c: Organize metrics based on memory hierarchy
  perf c2c: Change header from "LLC Load Hitm" to "Load Hitm"
  perf c2c: Use more explicit headers for HITM
  perf c2c: Change header for LLC local hit
  perf c2c: Correct LLC load hit metrics
  perf c2c: Add metrics "RMT Load Hit"

 tools/perf/builtin-c2c.c | 83 +++++++++-------------------------------
 1 file changed, 18 insertions(+), 65 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2020-10-15 15:05 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-14  5:09 [PATCH v1 0/8] perf c2c: Refine the organization of metrics Leo Yan
2020-10-14  5:09 ` [PATCH v1 1/8] perf c2c: Display the total numbers continuously Leo Yan
2020-10-14  5:09 ` [PATCH v1 2/8] perf c2c: Display "Total Stores" as a standalone metrics Leo Yan
2020-10-14  5:09 ` [PATCH v1 3/8] perf c2c: Organize metrics based on memory hierarchy Leo Yan
2020-10-14  5:09 ` [PATCH v1 4/8] perf c2c: Change header from "LLC Load Hitm" to "Load Hitm" Leo Yan
2020-10-14  5:09 ` [PATCH v1 5/8] perf c2c: Use more explicit headers for HITM Leo Yan
2020-10-14  5:09 ` [PATCH v1 6/8] perf c2c: Change header for LLC local hit Leo Yan
2020-10-14  5:09 ` [PATCH v1 7/8] perf c2c: Correct LLC load hit metrics Leo Yan
2020-10-14  5:09 ` [PATCH v1 8/8] perf c2c: Add metrics "RMT Load Hit" Leo Yan
2020-10-14 14:03 ` [PATCH v1 0/8] perf c2c: Refine the organization of metrics Jiri Olsa
2020-10-14 18:38 ` Joe Mario
2020-10-15 15:04   ` Leo Yan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).