-
Notifications
You must be signed in to change notification settings - Fork 6.3k
8314599: [GenShen] Couple adaptive tenuring and generation size budgeting #27632
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
earthling-amzn
wants to merge
55
commits into
openjdk:master
Choose a base branch
from
earthling-amzn:promotion-budget-improvements
base: master
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.
+249
−168
Open
Changes from all commits
Commits
Show all changes
55 commits
Select commit
Hold shift + click to select a range
18ab073
Some cleanup and a test harness for adaptive tenuring
earthling-amzn 280d8d1
Assert current behavior is expected
earthling-amzn 47a84e0
Make evac tracking a runtime feature, add logging for plab management
earthling-amzn 43d25e3
Instrumentation tweaks
earthling-amzn c3b4e89
Instrumentation tweaks
earthling-amzn be111f0
Are some threads not getting plab promotions re-enabled?
earthling-amzn 0429530
Re-enable plab promotions for all threads when plabs are retired
earthling-amzn 7dd61a3
Remove unused ShenandoahThreadLocalData::_paced_time
earthling-amzn 101cdf2
Log percentage of population which is above tenuring threshold
earthling-amzn c6a3467
Tone down some log messages, draw the tenuring threshold line above t…
earthling-amzn 038aa46
Remove census-at-evac option
earthling-amzn 090ae87
Little clean up as I read
earthling-amzn 071bc88
Deduplicate some collection set logging
earthling-amzn 7c2de24
Idle clean ups, logging improvements
earthling-amzn f472787
Merge remote-tracking branch 'jdk/master' into adaptive-tenuring-thre…
earthling-amzn 8d7cd39
Update unit test, fix slowdebug build issue
earthling-amzn b13e8b1
Remove outdated comment
earthling-amzn 86c429a
Add more census updates, exhibit current behavior in test
earthling-amzn 704753f
Idle clean ups
earthling-amzn 48a330f
Merge branch 'adaptive-tenuring-threshold' into make-evac-tracking-ru…
earthling-amzn a3e5fb4
Add a method to get the total bytes occupied by objects eligible for …
earthling-amzn c4fb8cf
Instrumentation to guage potential changes to promotion reserves
earthling-amzn ca6ca98
Fix linker error
earthling-amzn 89a6212
How is promotion potential higher than next cycle's tenurable objects…
earthling-amzn d3a63ec
Oops, age table sizes are words
earthling-amzn 32f6b3b
Add test that simulates promotion above tenuring age
earthling-amzn 642c1a0
Checkpoint, tests pass
earthling-amzn 82c06f2
Clean up tests
earthling-amzn 2c7275f
Merge tag 'jdk-26+12' into adaptive-tenuring-threshold
earthling-amzn 64c6839
Revert unintended change
earthling-amzn 830f2c6
Merge remote-tracking branch 'origin/adaptive-tenuring-threshold' int…
earthling-amzn b3109ed
Use age census to inform size of old generation
earthling-amzn 8b2fb41
Fix release build
earthling-amzn 225c6ed
Fix age table printing (again)
earthling-amzn c663e2f
Track and print promotion failure stats
earthling-amzn fb5e0fc
Use age census to size promotion reserve for current cycle
earthling-amzn e1cdba7
Adjust promotion reserve based only on old regions that have been add…
earthling-amzn d306a51
Why do we keep giving away all our old reserve?
earthling-amzn 25c488e
Count promotion reserve in old consumed
earthling-amzn b9e16d2
Fix windows build
earthling-amzn 268bddf
Keep promotion reserve (we already accounted for this when transferri…
earthling-amzn 2bd2e41
More instrumentation
earthling-amzn 9f2be25
Merge remote-tracking branch 'earthling-jdk/adaptive-tenuring-thresho…
earthling-amzn 5845982
Merge remote-tracking branch 'jdk/master' into make-evac-tracking-run…
earthling-amzn 3037ca8
Tweak comment
earthling-amzn dc3458a
Merge remote-tracking branch 'jdk/master' into promotion-budget-impro…
earthling-amzn 3841fc0
Merge remote-tracking branch 'jdk/master' into promotion-budget-impro…
earthling-amzn 38cda58
Merge fallout
earthling-amzn 5809aa5
More accurate method names for cset fields, consider promotion reserv…
earthling-amzn 35e0417
Only use old generation in generational mode
earthling-amzn 1f757d1
Fix wrong asserts
earthling-amzn fd9619d
Little cleanup
earthling-amzn 8fca0b6
Fix windows build
earthling-amzn 09926eb
Fix windows build more
earthling-amzn b4d1cf9
Review feedback, bug fixes
earthling-amzn 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
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.
I'm wondering if these new names properly reflect the intention. It seems get_live_byte_in_young_regions() really means get_live_bytes_that_we_intend_to_evacuate_to_young(). (This number does not include _live_bytes_in_young_regions() that we expect to evacuate to old.)
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.
I called the complementary method
get_live_bytes_in_tenurable_regions
. How aboutget_live_bytes_in_untenurable_regions
?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.
I'm still maybe a bit confused. Is it get_untenurable_live_bytes_in_young_regions()? Are we distinguishing?
So we have a total of N live bytes within young regions that have been placed into the collection set. We expect that P bytes (P < N) will be promoted, and the remaining S bytes (S + P == N) will be evacuated to "survivor space" within young.
Does get_live_bytes_in_untenurable_regions() equal P + S?