Проект Debian уведомил о проблемах с CPU Intel Skylake и Kaby Lake
25 июня 2017 года
Разработчики дистрибутива 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 c процессорами 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
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.