-
Notifications
You must be signed in to change notification settings - Fork 563
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#6426: Add schedule_stats tool #6442
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Adds a new analysis tool "schedule_stats" which computes characteristics of a core-sharded schedule. This is meant to help in understanding and studying the effects of varying the scheduler parameters. This initial version counts instructions, blocking and all syscalls, voluntary and direct switches, and direct requests, and computes derived statistics CSPKI, I/CS, %voluntary, and %direct switches. Failed direct requests can be inferred. The tool also records a string of letters representing input threads to help visualize the thread interleaving on each core. The number of instructions per leter is controlled by a new parameter -print_every. This string visualization has its limits as more than 26 inputs will wrap around, but this approach has been useful in our unit tests and other small runs. Adds a regression test which runs the checked-in threadsig trace. Issue: #6426
abhinav92003
approved these changes
Nov 10, 2023
…ultiple comments; Move prev_was_wait
…hedule-stats-tool
Progress: we're down to just one test failing here. x86-32: it's the set of failures in #6417. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 analysis tool "schedule_stats" which computes characteristics of a core-sharded schedule. This is meant to help in understanding and studying the effects of varying the scheduler parameters.
This initial version counts instructions, blocking and all syscalls, voluntary and direct switches, and direct requests, and computes derived statistics CSPKI, I/CS, %voluntary, and %direct switches. Failed direct requests can be inferred.
The tool also records a string of letters representing input threads to help visualize the thread interleaving on each core. The number of instructions per leter is controlled by a new parameter -print_every. This string visualization has its limits as more than 26 inputs will wrap around, but this approach has been useful in our unit tests and other small runs.
Adds a regression test which runs the checked-in threadsig trace.
Issue: #6426