2017-10-25 02:38:56 |
quanxian |
bug |
|
|
added bug |
2017-10-25 02:56:30 |
quanxian |
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.
Note that this is a somewhat sensitive topic with DCG. Any fixes should be low key.
How to test:
Non AVX test code like compiles should not report any LVL1,2 AVX licenses with
perf stat -e cpu/event=0x28,umask=0x18,name=core_power_lvl1_turbo_license/,cpu/event=0x28,umask=0x20,name=core_power_lvl2_turbo_license/,cpu/event=0x28,umask=0x40,name=core_power_throttle/,cycles -a -I 1000 sleep 10 |
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=0x28,umask=0x18,name=core_power_lvl1_turbo_license/,cpu/event=0x28,umask=0x20,name=core_power_lvl2_turbo_license/,cpu/event=0x28,umask=0x40,name=core_power_throttle/,cycles -a -I 1000 sleep 10 |
|
2017-10-25 03:05:44 |
Adam Conrad |
bug |
|
|
added subscriber Adam Conrad |
2017-10-26 05:58:01 |
Alice Liu |
intel: status |
New |
Invalid |
|
2017-11-14 07:19:27 |
quanxian |
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=0x28,umask=0x18,name=core_power_lvl1_turbo_license/,cpu/event=0x28,umask=0x20,name=core_power_lvl2_turbo_license/,cpu/event=0x28,umask=0x40,name=core_power_throttle/,cycles -a -I 1000 sleep 10 |
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=0x28,umask=0x18,name=core_power_lvl1_turbo_license/,cpu/event=0x28,umask=0x20,name=core_power_lvl2_turbo_license/,cpu/event=0x28,umask=0x40,name=core_power_throttle/,cycles -a -I 1000 sleep 10
17.10 doesn't hit.
16.04 hit the issue.
Target Release: 16.04 |
|
2017-11-14 07:19:42 |
quanxian |
intel: status |
Invalid |
Incomplete |
|
2018-02-15 19:39:42 |
Francis Ginther |
tags |
|
id-5a3075247a0164a9b9f16cba |
|
2018-06-29 02:03:23 |
quanxian |
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=0x28,umask=0x18,name=core_power_lvl1_turbo_license/,cpu/event=0x28,umask=0x20,name=core_power_lvl2_turbo_license/,cpu/event=0x28,umask=0x40,name=core_power_throttle/,cycles -a -I 1000 sleep 10
17.10 doesn't hit.
16.04 hit the issue.
Target Release: 16.04 |
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=0x28,umask=0x18,name=core_power_lvl1_turbo_license/,cpu/event=0x28,umask=0x20,name=core_power_lvl2_turbo_license/,cpu/event=0x28,umask=0x40,name=core_power_throttle/,cycles -a -I 1000 sleep 10
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 |
|
2018-07-25 18:09:23 |
Joseph Salisbury |
tags |
id-5a3075247a0164a9b9f16cba |
id-5a3075247a0164a9b9f16cba kernel0-da-key |
|
2018-07-25 18:09:29 |
Joseph Salisbury |
tags |
id-5a3075247a0164a9b9f16cba kernel0-da-key |
id-5a3075247a0164a9b9f16cba kernel-da-key |
|
2018-07-25 18:09:35 |
Joseph Salisbury |
intel: importance |
Undecided |
Medium |
|
2018-07-25 18:09:38 |
Joseph Salisbury |
intel: status |
Incomplete |
Triaged |
|
2018-07-25 18:09:49 |
Joseph Salisbury |
intel: assignee |
|
Canonical Kernel Team (canonical-kernel-team) |
|
2018-08-13 02:03:48 |
quanxian |
information type |
Proprietary |
Public |
|
2018-08-14 15:03:08 |
Joseph Salisbury |
affects |
intel |
linux |
|
2018-08-14 15:03:21 |
Joseph Salisbury |
bug task added |
|
linux (Ubuntu) |
|
2018-08-14 15:03:35 |
Joseph Salisbury |
linux (Ubuntu): status |
New |
Triaged |
|
2018-08-14 15:03:38 |
Joseph Salisbury |
linux (Ubuntu): importance |
Undecided |
Medium |
|
2018-08-14 15:03:49 |
Joseph Salisbury |
linux (Ubuntu): assignee |
|
Canonical Kernel Team (canonical-kernel-team) |
|
2019-07-24 21:07:38 |
Brad Figg |
tags |
id-5a3075247a0164a9b9f16cba kernel-da-key |
cscc id-5a3075247a0164a9b9f16cba kernel-da-key |
|
2020-05-18 15:28:48 |
roots |
bug |
|
|
added subscriber roots |