i#5694 core-sharded: Add core-serial support #6519
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a new scheduler option single_lockstep_output which multiplexes the virtual core output streams onto a single global stream. This is simple to implement as the existing scheduler_t::stream_t class already multiplexes inputs onto an output.
Hooks up the drcachesim launcher -core_serial option to this new scheduler mode.
Updates the schedule_stats, basic_counts, and cache_simulator tools to support core_serial. For cache_simulator, the existing thread-to-core mapping code for round-robin and for -cpu_scheduling is kept for when in thread-sharded mode; in core-sharded mode, the scheduler's cpuid is mapped to a core index.
Adds a core_serial test of schedule_stats and basic_counts and a test of cache_simulator using the scheduler's -cpu_schedule_file as-traced mode.
Adds some dr$sim unit tests for cpuid to core mapping and error modes.
Issue: #5694