Skip to content

Conversation

Maoni0
Copy link
Member

@Maoni0 Maoni0 commented Aug 15, 2025

also, if the GCGen0MaxBudget config is specified, always honor it including for DATAS.

I will be submitting a doc PR to document these configs.

@Copilot Copilot AI review requested due to automatic review settings August 15, 2025 07:58
Copy link
Contributor

@Copilot Copilot AI left a 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)

@Maoni0
Copy link
Member Author

Maoni0 commented Aug 15, 2025

@mangod9 these are the configs I mentioned; PTAL.

Copy link
Contributor

Tagging subscribers to this area: @dotnet/gc
See info in area-owners.md if you want to be subscribed.

Copy link
Member

@mangod9 mangod9 left a 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
@Maoni0 Maoni0 force-pushed the budget_factor_checkin branch from 3bdaaa9 to b1224b8 Compare August 15, 2025 21:15
@Maoni0 Maoni0 merged commit fffd8c0 into dotnet:main Aug 15, 2025
95 of 98 checks passed
@Maoni0
Copy link
Member Author

Maoni0 commented Aug 18, 2025

/backport to release/10.0-rc1

Copy link
Contributor

Started backporting to release/10.0-rc1: https://github.com/dotnet/runtime/actions/runs/17051326822

Copy link
Contributor

@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"}

@github-actions github-actions bot locked and limited conversation to collaborators Sep 18, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants