Uh oh!
There was an error while loading. Please reload this page.
Fixing the per object hard limit support for regions - #72229
Conversation
ghost
commented
Jul 14, 2022
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
3b3634eCompare04cc2b2 to
fda848bCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
c6ea14d to
3c36496Compare3c36496 to
cebb65fCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
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_countfrom4to3, which is more correct IMO. Many lines were doing-1which is no longer needed.The
commit-accountinglogging 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)