Closed
Description
Recently the GC team added a new Pinned Object Heap. This new heap adds a conceptual 5th generation to the existing four: gen0, gen1, gen2, LOH (large object heap), and now POH (pinned object heap). The fact there were exactly four generations has been broadly exposed to diagnostic tools so changing to five has far reaching ramifications. At a minimum we don't want changes to the runtime to break critical tools which requires testing. More ideally we also want any necessary API changes, implementation changes, documentation changes, and coordination with the owners of external libraries/tools so that the .NET diagnostic tools ecosystem remains effective at memory investigations.
Work items:
- .Net runtime team owned code - investigation + design/coding/testing/docs as needed
- ETW/EventPipe/Lttng/EventListener events (#35563)
- ICorDebug APIs (#35396)
- ICorProfiler APIs (#35258)
- DAC implementation/APIs (#13735 and [Pinned Object Heap]
DAC_NUMBERGENERATIONS
may need to be adjusted runtime#13736) - EventCounters (#35424)
- CLRMD - needs to be updated to support POH
- SOS/dotnet dump (SOS does not know about the pinned object heap #1068)
- dotnet-gcdump - test to ensure that POH objects are reported
- TraceEvent - confirm with @VSadov, @Maoni0, and @brianrob that we are good
- PerfView - confirm with @VSadov, @Maoni0, and @brianrob that we are good
- Other tools - this is primarily notification and guidance they may need for testing
- Visual Studio Debugger
- Visual Studio Profiler
- Application Insights
- bperf
- mex/sosex/psscor?
- WPA?
- 3rd party profilers (update our announcement issue)
- windbg/!analyze (probably no relevance but better safe than sorry)
Metadata
Metadata
Assignees
Labels
No labels