[release/8.0-staging] Enable TLS on linux/arm64 only for static resolver#106101
Merged
davidwrighton merged 6 commits intodotnet:release/8.0-stagingfrom Aug 8, 2024
Merged
Conversation
Contributor
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
jkotas
approved these changes
Aug 7, 2024
This was referenced Aug 8, 2024
JulieLeeMSFT
approved these changes
Aug 8, 2024
Member
JulieLeeMSFT
left a comment
There was a problem hiding this comment.
Approved.
Cc @carlossanlop, @jeffschwMSFT.
Member
|
CC @dotnet/jit-contrib . |
Member
Author
|
Only failed test was browser-wasm which is known to sometimes fail by running too slow. I'm rerunning it, but it isn't an issue relevant to checking in. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Customer Impact
Backport of PR #106052 to release/8.0. This bug came to light as reported by a customer through Microsoft support (https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2094832).
The problem was that the code in the VM which decided that it was acceptable to optimize tls access in the JIT did not take into account that the runtime might be loaded in a mode where the TLS access would use the dynamic resolver instead of the static resolver.
Regression
This is a regression as the same scenario works properly in .NET 7 and .NET 6 versions. For context, it was accidentally introduced as part of implementing optimized TLS for arm64 in PR #87082
Testing
This was validated using a repro scenario built by the customer support team. This fix has already been accepted into the .NET 9 codebase.
Risk
This PR poses low risk to the product, and provides a new escape hatch for other issues coming from incorrectly optimized TLS access to provide a workaround for any related issues that may occur.