[release/9.0-staging] Use minipal_getcpufeatures to detect for AVX (#113032) #113489
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.
Backport of # to release/9.0-staging
/cc @cshung
Customer Impact
@Typhon226 reported on #112897 that, on some machines, buggy behavior in
__builtin_cpu_supports
for Unix platforms could lie to us that it supports AVX512 when it doesn't. This could lead to runtime crashes.Regression
The regression was introduced in PR #98712, commit 68cf2dd when I enabled VxSort for unix platforms, but this is not the root cause.
Testing
Local testing is done on various machines, but none of them hit the
__builtin_cpu_supports
buggy behavior, so it worked both before and after the changes.#113032 (comment)
Customer testing is done on the machines that hit the issue, and the fixed version works as expected, for both #112897 (comment) (9.0 binaries) and #112897 (comment) (10.0 binaries)
Risk
The risk is low, the same function is used by the JIT to determine if the CPU supports AVX512.