Write perfmap and jitdump files to /tmp by default [6.0 port]#88486
Write perfmap and jitdump files to /tmp by default [6.0 port]#88486tommcdon merged 3 commits intodotnet:release/6.0-stagingfrom
Conversation
|
@tommcdon I see this is still a draft. Reminder - Tomorrow Monday 10th is Code Complete for the August Release. If you intend to get this fix included in that servicing release, please make sure to get a Tactics approval and merge the PR before 4pm, because that's when I close the branches to start merging staging into internal. |
691ee26 to
1a29631
Compare
Thanks @carlossanlop for the reminder. We didn't receive partner team signoff until after the snap, so we will be targeting the next servicing opportunity for .net 6. |
|
Tagging subscribers to this area: @tommcdon Issue Detailsnull
|
jeffschwMSFT
left a comment
There was a problem hiding this comment.
approved. we will take for consideration in 6.0.x
Description
Perfmaps and Jitdumps is a Linux kernel feature that allows .NET to symbolicate dynamically generated code with perf_events. The perfmap/jitdump files are processed by the the Linux
perftool to generate human readable callstacks for CPU traces, for example. The Linux implementation looks for the perfmap/jitdump files in/tmp(please see https://elixir.bootlin.com/linux/v6.4.3/source/tools/perf/util/symbol.c#L1838). The .NET implementation defaults to writing to/tmpbut this can be overridden with the$TMPDIRenvironment variable. This leads to incorrect behavior in environments where$TMPDIRis in use. This code change alters the behavior and will use/tmpregardless of$TMPDIRsettings. There is a minor fix included with this change that correctly sets perfmap location ifDOTNET_PerfMapJitDumpPathis set.This is a port of #88776 from .NET 8
Customer Impact
Internal partner teams have requested this change in .NET servicing
Regression?
Not a regression
Risk
Low, perfmaps+jitdumps is opt-in feature and we are only changing the default location where they are being written to