Fixes and improvements: (#87218)
authorPeter Sollich <petersol@microsoft.com>
Mon, 12 Jun 2023 09:38:12 +0000 (11:38 +0200)
committerGitHub <noreply@github.com>
Mon, 12 Jun 2023 09:38:12 +0000 (11:38 +0200)
commit89f3a9ef41383bb409b69d1a0f0db910f3ed9a34
tree8ef17fda64df45ace3df1b7b0d59a16a295e917c
parent202ccdb59afedcf2d7e86b3ba10a2b9a703c71c9
Fixes and improvements: (#87218)

- Fix hang bug caused by race condition in change_heap_count
- Change way we store dynamic heap input metrics to make it easier to surface them via ETW events.
- Refactor enter_spin_lock_msl into an inlineable part and a slower, more complex out-of-line part.
- Subtract time spent in safe_switch_to_thread and WiatLongerNoInstru from msl wait time - this makes this metric much less noisy.
- add more diagnostic output to check_heap_count and change_heap_count.
- add more spinning to EnterFinalizeLock to address slow suspensions in some ASP.NET benchmarks.
src/coreclr/gc/gc.cpp
src/coreclr/gc/gcpriv.h