-
Notifications
You must be signed in to change notification settings - Fork 12
feat(profiler): wall-clock signal suppression for idle threads #560
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
Open
kaahos
wants to merge
23
commits into
main
Choose a base branch
from
paul.fournillon/wallclock-suppression
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
1045a85
feat: wall-clock precheck and signal suppression
kaahos aed7b1a
Merge branch 'main' into paul.fournillon/wallclock-suppression
kaahos 7a250b6
fix
kaahos 6028fdd
Merge branch 'main' into paul.fournillon/wallclock-suppression
kaahos 1e1bcd1
fix: fix build + tests
kaahos b1cb73f
fix: fix mem leaks in tests
kaahos a3a9462
fix: track wall precheck block state in thread filter
kaahos 137065c
fix: arm wall precheck after recording sample
kaahos c7caa46
fix: include wait states in wall precheck suppression
kaahos 55073d0
Fix ProfiledThread ownership in park_state_ut
kaahos 619449a
Add Java block-state bridge for wall-clock precheck
kaahos 1cd0f8b
Fix wall-clock thread filter reset
kaahos 3ee7f42
Gate wall-clock precheck on untraced context
kaahos 6bda356
Merge branch 'main' into paul.fournillon/wallclock-suppression
kaahos 8bb1fed
fix: avoid exact suppression for unowned blocked states
kaahos f82fe70
Merge branch 'main' into paul.fournillon/wallclock-suppression
kaahos 6ece88d
fix: address ownership correctness review
kaahos 110abaa
fix: address thread filter review
kaahos e9f53b9
fix: factorize code and add support for jvmti
kaahos e2d60da
fix: fix wall-clock counters and misleading comment
kaahos 5ab946c
Merge branch 'main' into paul.fournillon/wallclock-suppression
kaahos 37df0a5
fix: apply review about test and unused stuff
kaahos 43471ee
fix: apply review about drainSuppressedSampledRun
kaahos File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Sphinx Review — HIGH]
parkExit0ignores the return value ofcurrent->parkExit()and always callstf->exitBlockedRun(slot_id)unconditionally — even when the thread was not parked (FLAG_PARKED was not set) or when the slot is owned byblockEnter0. This clears an active block run it does not own, disabling suppression for the remaining sleep interval.Suggestion:
bool was_parked = current->parkExit(start_ticks, park_context); if (was_parked) tf->exitBlockedRun(slot_id);Alternatively store theenterBlockedRuntoken duringparkEnter0and use the generation-checked overload.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
addressed in 6ece88d.