fix for excessive gen0 in high memory load situation (#61884)
authorMaoni Stephens <Maoni0@users.noreply.github.com>
Fri, 26 Nov 2021 21:19:07 +0000 (13:19 -0800)
committerGitHub <noreply@github.com>
Fri, 26 Nov 2021 21:19:07 +0000 (13:19 -0800)
commit9ede9a29128629ffde91b16efb51c9dd6ad7d0f7
treea9f819ff94d61e9eae41587e8e228cb7a725a4f4
parent574b2d46a0759d6456161dc4fc54fae6fde74e36
fix for excessive gen0 in high memory load situation (#61884)

in high memory load situations, when we had to wait for a BGC to finish, we switched to preemptive mode which means GCs could have occurred and replenished the budget. but when we come back from the wait, we use the previous decision on whether the budget was exceeded or not. this causes us to trigger GC incorrect and you would see GCs triggered when the allocated bytes are tiny.
src/coreclr/gc/gc.cpp
src/coreclr/gc/gcpriv.h