Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i#5538 memtrace seek, part 5: Add schedule index files #5713

Merged
merged 8 commits into from
Nov 1, 2022

Conversation

derekbruening
Copy link
Contributor

Adds two new files generated by raw2trace, each containing 4-entry records of <tid, timestamp, cpuid, instr_count>. These are used to take a global or per-cpu target instruction count and determine the corresponding instruction count within each software thread, for seeking within each trace file. One file is globally sorted by timestamp, and the other is a zip file with a separate component for each cpuid holding entries sorted by timestamp for that cpu.

Adds new invariant_checker tests for each file by passing them in for test_mode. The invariant_checker re-constructs the same sorted sequences using the trace data and confirms it matches the data in the files. This involves adding a new zipfile_stream_t interface for a simple continuous stream of each zipfile component in turn.

Issue: #5538

Adds two new files generated by raw2trace, each containing 4-entry
records of <tid, timestamp, cpuid, instr_count>.  These are used to
take a global or per-cpu target instruction count and determine the
corresponding instruction count within each software thread, for
seeking within each trace file.  One file is globally sorted by
timestamp, and the other is a zip file with a separate component for
each cpuid holding entries sorted by timestamp for that cpu.

Adds new invariant_checker tests for each file by passing them in for
test_mode.  The invariant_checker re-constructs the same sorted
sequences using the trace data and confirms it matches the data in the
files.  This involves adding a new zipfile_stream_t interface for a
simple continuous stream of each zipfile component in turn.

Issue: #5538
…ction so subclasses can extend raw2trace_thread_data_t
…orithm header for some VS2019 builds; add sched file check exclusions for needs-raw2trace check
@derekbruening
Copy link
Contributor Author

x64 failure is flaky api.detach_state assert about cache consistency #5123

@derekbruening derekbruening requested a review from bete0 November 1, 2022 16:50
clients/drcachesim/analyzer.cpp Show resolved Hide resolved
clients/drcachesim/analyzer_multi.cpp Outdated Show resolved Hide resolved
clients/drcachesim/common/zipfile_istream.h Outdated Show resolved Hide resolved
clients/drcachesim/tracer/raw2trace.cpp Show resolved Hide resolved
@derekbruening derekbruening requested a review from bete0 November 1, 2022 21:52
@derekbruening derekbruening merged commit f74f1a9 into master Nov 1, 2022
@derekbruening derekbruening deleted the i5538-schedule-file branch November 1, 2022 22:17
derekbruening added a commit that referenced this pull request Nov 3, 2022
Adds a missing piece from part 5 PR #5713 where raw2trace's
thread_data_ was indirected to support a subclass extending it.
However, its destructor was not virtual, which prevented such
extension.  We address that here.

Issue: #5538
derekbruening added a commit that referenced this pull request Nov 3, 2022
Adds a missing piece from part 5 PR #5713 where raw2trace's
thread_data_ was indirected to support a subclass extending it.
However, its destructor was not virtual, which prevented such
extension.  We address that here.

Issue: #5538
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants