-
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
RyuJIT: Implement mitigation for Intel JCC erratum #93243
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsIssue #35730 describes an Intel architecture erratum related to JCC instructions and the performance impact of the microcode mitigation that was implemented. The performance impact causes seemingly random and significant regressions, due to code and instruction alignment, especially in micro-benchmarks, that can make analyzing the performance impact of JIT and other changes difficult and frustrating. This issue is to implement a mode in the JIT to avoid the JCC erratum by altering generated code to avoid triggering the erratum condition. This will likely involve strategic insertion of NOP instructions. This mode will primarily be useful to aid developers analyzing the performance impact of JIT (and other) changes. Based on code size regressions and other performance characteristics of the mode, we can consider it for permanent enabling on affected platforms.
|
@JulieLeeMSFT This is something we want to do for .NET 9, but I will look into sometime after we finish the SVE work. I spoke with @kunalspathak about it. |
Moving to future as we will not have time to complete this. |
Issue #35730 describes an Intel architecture erratum related to JCC instructions and the performance impact of the microcode mitigation that was implemented.
The performance impact causes seemingly random and significant regressions, due to code and instruction alignment, especially in micro-benchmarks, that can make analyzing the performance impact of JIT and other changes difficult and frustrating.
This issue is to implement a mode in the JIT to avoid the JCC erratum by altering generated code to avoid triggering the erratum condition. This will likely involve strategic insertion of NOP instructions. This mode will primarily be useful to aid developers analyzing the performance impact of JIT (and other) changes. Based on code size regressions and other performance characteristics of the mode, we can consider it for permanent enabling on affected platforms.
The text was updated successfully, but these errors were encountered: