Skip to content

Commit

Permalink
i#6685 core-shard: Add idles and waits to basic_counts (#6754)
Browse files Browse the repository at this point in the history
Adds counts of idle and wait records to basic_counts, which are useful
when examining core-sharded-on-disk traces.

Rewords "scheduling markers" to "timestamp + cpuid markers" to clarify.
Rewords "transfer markers" to "kernel transfer markers".

Updates the tests; the core-serial tests non-zero output here, and the
core-sharded test also manually tested non-zero output as it required
removing these counts for reliable comparison of record vs replay.

Issue: #6685
  • Loading branch information
derekbruening authored Apr 5, 2024
1 parent a0b86cc commit 525020b
Show file tree
Hide file tree
Showing 38 changed files with 191 additions and 134 deletions.
24 changes: 16 additions & 8 deletions clients/drcachesim/docs/drcachesim.dox.in
Original file line number Diff line number Diff line change
Expand Up @@ -542,8 +542,10 @@ Total counts:
0 total icache flushes
0 total dcache flushes
3 total threads
1134 total scheduling markers
5 total transfer markers
1134 total timestamp + cpuid markers
0 total idle markers
0 total wait markers
5 total kernel transfer markers
10 total function id markers
0 total function return address markers
30 total function argument markers
Expand All @@ -563,8 +565,10 @@ Thread 64951 counts:
12594 data stores
0 icache flushes
0 dcache flushes
1072 scheduling markers
5 transfer markers
1072 timestamp + cpuid markers
0 idle markers
0 wait markers
5 kernel transfer markers
4 function id markers
0 function return address markers
12 function argument markers
Expand All @@ -584,8 +588,10 @@ Thread 64958 counts:
262 data stores
0 icache flushes
0 dcache flushes
30 scheduling markers
0 transfer markers
30 timestamp + cupid markers
0 idle markers
0 wait markers
0 kernel transfer markers
2 function id markers
0 function return address markers
6 function argument markers
Expand All @@ -605,8 +611,10 @@ Thread 64959 counts:
266 data stores
0 icache flushes
0 dcache flushes
32 scheduling markers
0 transfer markers
32 timestamp + cpuid markers
0 idle markers
0 wait markers
0 kernel transfer markers
4 function id markers
0 function return address markers
12 function argument markers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ Total counts:
1 total icache flushes
3 total dcache flushes
1 total threads
.* total scheduling markers
.* total transfer markers
.* total timestamp \+ cpuid markers
.* total idle markers
.* total wait markers
.* total kernel transfer markers
.* total function id markers
.* total function return address markers
.* total function argument markers
Expand All @@ -28,8 +30,10 @@ Thread .* counts:
.* data stores
1 icache flushes
3 dcache flushes
.* scheduling markers
.* transfer markers
.* timestamp \+ cpuid markers
.* idle markers
.* wait markers
.* kernel transfer markers
.* function id markers
.* function return address markers
.* function argument markers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
96 \(fetched\) instructions
Expand All @@ -22,5 +22,5 @@ Thread .* counts:
.* data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*
12 changes: 8 additions & 4 deletions clients/drcachesim/tests/allasm-repstr-basic-counts.templatex
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@ Total counts:
0 total icache flushes
0 total dcache flushes
1 total threads
48 total scheduling markers
0 total transfer markers
48 total timestamp \+ cpuid markers
0 total idle markers
0 total wait markers
0 total kernel transfer markers
0 total function id markers
0 total function return address markers
0 total function argument markers
Expand All @@ -41,8 +43,10 @@ Thread [0-9]* counts:
5 data stores
0 icache flushes
0 dcache flushes
48 scheduling markers
0 transfer markers
48 timestamp \+ cpuid markers
0 idle markers
0 wait markers
0 kernel transfer markers
0 function id markers
0 function return address markers
0 function argument markers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Total counts:
0 total icache flushes
0 total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
#ifdef __ARM_FEATURE_SVE2
Expand Down Expand Up @@ -74,5 +74,5 @@ Thread .* counts:
#endif /* __ARM_FEATURE_SVE2 */
0 icache flushes
0 dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Total counts:
0 total icache flushes
0 total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
96 \(fetched\) instructions
Expand All @@ -23,5 +23,5 @@ Thread .* counts:
5 data stores
0 icache flushes
0 dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*
16 changes: 10 additions & 6 deletions clients/drcachesim/tests/basic_counts.templatex
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,13 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.* total idle markers
.* total wait markers
#if defined(WINDOWS) && !defined(X64)
26 total transfer markers
26 total kernel transfer markers
#else
13 total transfer markers
13 total kernel transfer markers
#endif
.* total function id markers
.* total function return address markers
Expand All @@ -54,11 +56,13 @@ Thread .* counts:
.* data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.* idle markers
.* wait markers
#if defined(WINDOWS) && !defined(X64)
26 transfer markers
26 kernel transfer markers
#else
13 transfer markers
13 kernel transfer markers
#endif
.* function id markers
.* function return address markers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
.* \(fetched\) instructions
Expand All @@ -30,5 +30,5 @@ Thread .* counts:
.* data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*
6 changes: 4 additions & 2 deletions clients/drcachesim/tests/core_serial.templatex
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@ Total counts:
0 total icache flushes
0 total dcache flushes
8 total threads
1574 total scheduling markers
168 total transfer markers
1574 total timestamp \+ cpuid markers
345686 total idle markers
0 total wait markers
168 total kernel transfer markers
0 total function id markers
0 total function return address markers
0 total function argument markers
Expand Down
5 changes: 5 additions & 0 deletions clients/drcachesim/tests/core_sharded_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,11 @@ Core .*
"-replay_file", record_file.c_str() };
std::string replay_out =
run_analyzer(sizeof(replay_args) / sizeof(replay_args[0]), replay_args);
// The idle and wait counts can vary so we remove them.
record_out = std::regex_replace(
record_out, std::regex(" *[0-9]+ [a-z ]*(idle|wait) markers\\n"), "");
replay_out = std::regex_replace(
replay_out, std::regex(" *[0-9]+ [a-z ]*(idle|wait) markers\\n"), "");
assert(replay_out == record_out);
}
#endif
Expand Down
4 changes: 2 additions & 2 deletions clients/drcachesim/tests/filter-no-d.templatex
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
.* \(fetched\) instructions
Expand All @@ -22,7 +22,7 @@ Thread .* counts:
0 data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*

===========================================================================
Expand Down
4 changes: 2 additions & 2 deletions clients/drcachesim/tests/filter-no-i.templatex
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread [1-9][0-9]* counts:
0 \(fetched\) instructions
Expand All @@ -22,7 +22,7 @@ Thread [1-9][0-9]* counts:
.* data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*

===========================================================================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
.* \(fetched\) instructions
Expand All @@ -27,5 +27,5 @@ Thread .* counts:
.* data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
.* \(fetched\) instructions
Expand All @@ -25,5 +25,5 @@ Thread .* counts:
.* data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
.* \(fetched\) instructions
Expand All @@ -26,5 +26,5 @@ Thread .* counts:
.* data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
.* \(fetched\) instructions
Expand All @@ -25,5 +25,5 @@ Thread .* counts:
.* data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,8 @@ Total counts:
1 total icache flushes
3 total dcache flushes
1 total threads
6 total scheduling markers
0 total transfer markers
0 total function id markers
0 total function return address markers
0 total function argument markers
0 total function return value markers
.* total other markers
.* total encodings
6 total timestamp \+ cpuid markers
.*
Thread .* counts:
19 \(fetched\) instructions
19 unique \(fetched\) instructions
Expand All @@ -27,11 +21,5 @@ Thread .* counts:
0 data stores
1 icache flushes
3 dcache flushes
6 scheduling markers
0 transfer markers
0 function id markers
0 function return address markers
0 function argument markers
0 function return value markers
.* other markers
.* encodings
6 timestamp \+ cpuid markers
.*
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Total counts:
.* total icache flushes
.* total dcache flushes
1 total threads
.* total scheduling markers
.* total timestamp \+ cpuid markers
.*
Thread .* counts:
96 \(fetched\) instructions
Expand All @@ -21,7 +21,7 @@ Thread .* counts:
.* data stores
.* icache flushes
.* dcache flushes
.* scheduling markers
.* timestamp \+ cpuid markers
.*
Prefetch operation frequencies:
2 prefetch_read_l1
Expand Down
Loading

0 comments on commit 525020b

Please sign in to comment.