-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Fixing the per object hard limit support for regions #72229
Conversation
Tagging subscribers to this area: @dotnet/gc Issue DetailsFixes #71790 In regions, we can move regions from/to free lists, so just keeping track of the commits for which object-heap during commit/decommit time is no longer enough, we also need to update our accounting when we move them around. This change created a new bucket for free, that counts the committed memory in the region free lists. Much of the diff is a refactoring that change the value of The
|
37ab1d8
to
3b3634e
Compare
04cc2b2
to
fda848b
Compare
c6ea14d
to
3c36496
Compare
3c36496
to
cebb65f
Compare
Fixes #71790
Fixes #36828
In regions, we can move regions from/to free lists, so just keeping track of the commits for which object-heap during commit/decommit time is no longer enough, we also need to update our accounting when we move them around.
This change created a new bucket for free, that counts the committed memory in the region free lists.
Much of the diff is a refactoring that change the value of
total_oh_count
from4
to3
, which is more correct IMO. Many lines were doing-1
which is no longer needed.The
commit-accounting
logging statements are intentionally structured so that they can be used to reconstruct the committed region ranges if we have all of them. These can be useful for future tooling purposes (e.g. creating an animated map of how the regions evolves over time)