[GLIBC] Fix glibc AVX frequency problems
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux |
Triaged
|
Medium
|
Canonical Kernel Team | ||
linux (Ubuntu) |
Triaged
|
Medium
|
Canonical Kernel Team |
Bug Description
Various glibc versions use AVX512 or AVX incorrectly in memcpy/memset or use AVX unintentionally due to branch mispredictions. On SKX using AVX can lower the frequency by several bins.
There was a decision to not use AVX in memcpy/memset to avoid these problems for legacy code.
glibc mainline has been fixed. The actual state per version depends on the version, and what backports it has applied.
See the attachment for the fix status for several glibc versions. Need to figure out for each supported glibc release if they are affected, and submit backports of the fixes.
How to test:
Non AVX test code like compiles should not report any LVL1,2 AVX licenses with
perf stat -e cpu/event=
17.10 also hit this issue, when testing, need run some others application. For example, building kernel.
16.04 hit the issue.
Target Release: 16.04
description: | updated |
description: | updated |
Changed in intel: | |
status: | Invalid → Incomplete |
tags: | added: id-5a3075247a0164a9b9f16cba |
information type: | Proprietary → Public |
affects: | intel → linux |
Changed in linux (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Medium |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
tags: | added: cscc |
The only way to really make this sort of update "low key" is to backport the fixes on the upstream branches and include it in an "update to latest stable branch" sort of SRU. If we backport just these bits, not calling it out in the changelog wouldn't look good.