-
Notifications
You must be signed in to change notification settings - Fork 5.2k
introduce a few configs for DATAS fine tuning #118762
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
Conversation
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.
Pull Request Overview
This PR introduces several new configuration options for fine-tuning the DATAS (Dynamic Adaptation To Application Sizes) feature in the garbage collector. The main purpose is to provide more granular control over gen0 budget calculations and growth factors used by DATAS.
Key changes include:
- Addition of three new configuration parameters for controlling gen0 growth relative to stable SOH size
- Modification of GCGen0MaxBudget behavior to always honor the specified value when set, including for DATAS
- Updates to the gen0 budget computation logic to use configurable parameters instead of hardcoded values
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
File | Description |
---|---|
src/coreclr/gc/gcconfig.h | Adds three new DATAS configuration options and exposes GCGen0MaxBudget as a public configuration |
src/coreclr/gc/gcpriv.h | Introduces configurable parameters for gen0 growth computation and refactors variable names for clarity |
src/coreclr/gc/gc.cpp | Implements configuration parameter initialization, validation logic, and modifies gen0 budget handling to always honor GCGen0MaxBudget |
Comments suppressed due to low confidence (3)
@mangod9 these are the configs I mentioned; PTAL. |
Tagging subscribers to this area: @dotnet/gc |
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.
Looks good, apart from the config naming. If that is the best naming for now its ok, we can change it later.
+ if the GCGen0MaxBudget config is specified, always honor it including for DATAS
3bdaaa9
to
b1224b8
Compare
/backport to release/10.0-rc1 |
Started backporting to release/10.0-rc1: https://github.com/dotnet/runtime/actions/runs/17051326822 |
@Maoni0 an error occurred while backporting to "release/10.0-rc1", please check the run log for details! Validation Failed: {"resource":"PullRequest","code":"custom","message":"No commits between release/10.0-rc1 and backport/pr-118762-to-release/10.0-rc1"} |
also, if the GCGen0MaxBudget config is specified, always honor it including for DATAS.
I will be submitting a doc PR to document these configs.