-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Write perfmap and jitdump files to /tmp by default #88776
Conversation
Co-authored-by: David Mason <davmason@microsoft.com>
Tagging subscribers to this area: @tommcdon Issue DetailsPerfmaps 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
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
All failures are known issues, merging. |
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
perf
tool 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/tmp
but this can be overridden with the$TMPDIR
environment variable. This leads to incorrect behavior in environments where$TMPDIR
is in use. This code change alters the behavior and will use/tmp
regardless of$TMPDIR
settings. There is a minor fix included with this change that correctly sets perfmap location ifDOTNET_PerfMapJitDumpPath
is set.