Ошибка в CPU AMD EPYC 7002 приводит к зависанию после 1044 дней работы

В поставляемой с 2018 года серии серверных процессоров AMD EPYC 7002 («Rome»), построенных на базе микроархитектуры «Zen 2», выявлена ошибка, в результате которой процессор зависает после 1044 дней непрерывной работы. В качестве обходных путей блокирования проблемы рекомендуется отключить поддержку энергосберегающего режима CC6 или перезагружать сервер до наступления 1044 дней непрерывной работы (примерно 2 года 10 месяцев).

По информации, опубликованной компанией AMD, зависание вызвано сбоем, возникающим при попытке выхода процессорного ядра из энергосберегающего режима CC6 (core-C6, понижает напряжение при бездействии) при достижении таймером значения в 1044 дней после последнего сброса состояния CPU (время проявления может меняться в зависимости от частоты REFCLK).

Более детального пояснения причины сбоя компания AMD не приводит. Судя по опубликованному на Reddit предположению, зависание происходит когда счётчик в регистре TSC (Time Stamp Counter), отсчитывающем число рабочих циклов после сброса, при частоте 2800 MHz достигает значения 0×380000000000000 (2800 MHz * 10**6×1042.5, т.е. спустя 1042 дня и 12 часов).

Исправление ошибки публиковать не планируется. Проблема долгое время оставалась не замеченной так как многолетние uptime не типичны для серверов, которые для поддержания в актуальном состоянии периодически приходится перезапускать для установки обновлений ядра или для перехода на новый выпуск операционной системы. Тем не менее, развитие в Linux дистрибутивов методов обновления ядра в live-режиме, а также длительные циклы сопровождения (Ubuntu, RHEL и SUSE поддерживаются 10 лет, а Debian — 5 лет) могут привести к длительному нахождению серверов без перезагрузки.



Источник: http://www.opennet.ru/opennews/art.shtml? num=59243

©  OpenNet