Debian знайшли дефект в процесорах Intel Skylake та Kaby Lake

3 хв. читання

Розробники дистрибутива Debian виявили проблеми в роботі режиму Hyper-threading в процесорах Intel, побудованих на базі мікроархітектури Skylake і Kaby Lake, які виражаються в непередбаченому поводженні системи (наприклад, аварійному завершенні застосунків або пошкодженні даних). Проблема проявляється в 6 і 7 поколінні процесорів Intel Core для настільних, вбудованих і мобільних систем, в серверних процесорах Xeon 5 і Xeon 6, а також в деяких моделях Intel Pentium.

Проблему виявили розробниками інструментарію OCaml, які зіткнулися з крахами при роботі компілятора OCaml, зібраного за допомогою GCC. Перші згадки проблеми відслідковуються з другого кварталу 2016 року, але через трудомісткості діагностики причина виявлена тільки зараз. Проблема проявляється тільки на деяких процесорах Intel з увімкненим режимом Hyper-threading. Подальше дослідження показало, що проблема викликана некоректною обробкою послідовностей інструкцій і є дефектом процесорів Intel Skylake і Kaby Lake.

Проблема проявляється, коли виконуються короткі цикли, що включають менше ніж 64 машинних інструкцій, які використовують регістри AH, BH, CH або DH, а також їх довші варіанти (RAX, EAX і AX для AH, RBX, EBX і BX для BH і т.д.), за умови, що активні обидва логічних процесора на тому ж фізичному процесорі. Розробники зв'язалися з Intel, але не отримали зрозумілої відповіді, при цьому через кілька місяців в списку змін в черговому оновленні від Intel було помічено виправлення, яке вирішувало проблему в OCaml. Розробники OCaml зв'язалися з супроводжуючими пакет intel-microcode в Debian і поділилися своєю інформацією.

Користувачам Debian з процесорами Intel Skylake (model в / proc / cpuinfo = 78 або 94 і stepping = 3) рекомендується якомога швидше встановити пакет intel-microcode з оновленням мікрокоду (версія 3.20170511.1), доступний в репозиторії non-free для гілок unstable, testing, Debian 9 «stretch» і Debian 8 (jessie-backports). Для інших моделей Intel Skylake і CPU Kaby Lake виправлення через intel-microcode поки недоступно, тому їм рекомендується дезактивувати режим роботи Hyper-threading в BIOS / UEFI або встановити оновлення прошивки BIOS / UEFI від виробника обладнання, якщо воно вже випущено (Intel erratа SKW144, SKL150, SKX150, SKZ7, KBL095, KBW095). Проблема не специфічна для Debian і Linux, і проявляється в будь-яких інших ОС.

Щоб визначити схильність системи до проблеми слід виконати grep name / proc / cpuinfo | sort -u і і звірити модель процесора зі списками кодових номерів процесорів Skylake і Kaby-Lake, а також перевірити наявність підтримки Hyper-threading (флаг «ht» в / proc / cpuinfo).

 $ grep -E 'model|stepping' /proc/cpuinfo | sort -u
   model	: 26
   model name	: Intel(R) Xeon(R) CPU           E5530  @ 2.40GHz
   stepping	: 5

   $  grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
   Hyper-threading is supported
Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація