В Linux подкрутили код ACPI, замедлявший работу систем AMD Zen 3

В Linux подкрутили код ACPI, замедлявший работу систем AMD Zen 3

В Linux подкрутили код ACPI, замедлявший работу систем AMD Zen 3

В ядро Linux внесены исправления, призванные ограничить использование устаревшего приема — фиктивной операции ожидания, тормозящей CPU при его переводе в состояние сна. Современные системы AMD и Intel не нуждаются в такой помощи, более того, при определенных рабочих нагрузках трюк, в котором нет необходимости, может вызвать существенное снижение производительности.

В 2002 году в Linux была добавлена поддержка стандарта ACPI (Advanced Configuration and Power Interface), согласно которому управление энергопотреблением осуществляется на уровне операционной системы. Спецификации предусматривают возможность перевода устройства в состояние сна разной степени, а также использование технологий мгновенной готовности (пробуждение по сигналу).

Однако некоторые чипсеты оказались неспособными быстро реагировать на сигнал STPCLK# (stop-clock, вызывает состояние функционирования C2, при котором питание процессора отключается, но регенерация ОЗУ продолжается; для возврата в рабочий режим требуется время). В связи с этим был придуман обходной маневр — имитация ожидания, при которой система просто считывает данные ввода-вывода, задерживая обработку инструкций.

Соответствующий код появился в Linux вместе с поддержкой ACPI и присутствует до сих пор. Современные процессоры Intel его не используют, так как давно засыпают с помощью инструкции MWAIT — ее использование обеспечивает более тонкое управление энергопотреблением неактивного состояния (их семь против трех по ACPI).

Чипсетам AMD фейковая операция ожидания тоже больше не требуется, однако для них альтернативы нет. В то же время трюк двадцатилетней давности при определенных условиях может оказаться губительным. Недавнее исследование показало, что он может сильно замедлить работу AMD Zen 3 при рабочих нагрузках Linux с быстрым переключением состояний занятости и простоя. Падение производительности особенно заметно на платформах Ryzen Threadripper и EPYC, которые используют многоядерные процессоры.

Во избежание таких потерь был предложен патч для Linux, который лимитирует использование потерявшего актуальность кода: он пускается в ход только на старых платформах (в случае с Intel это системы с микроархитектурой древнее Nehalem). Концепцию заплатки подхватил Линус Торвальдс; в итоге долгожданный фикс был добавлен в новую сборку ядра Linux (6.0), выпуск которой запланирован на 2 октября.

Подпишитесь на новости

Яндекс Диск вернул автозагрузку фото, восстановление близко к финалу

Фотографиям и видео больше не нужен ручной переезд в облако: в «Яндекс Диске» восстановили мобильную автозагрузку. Снимки с телефона снова могут автоматически отправляться в хранилище, сообщила пресс-служба «Яндекс 360».

Следить за восстановлением функций можно в блоге «Яндекс 360», где компания публикует статусы доступности сервисов.

Заодно на «Диск» вернулся видеостриминг. Теперь ролики снова можно смотреть прямо в сервисе, не скачивая файл целиком на устройство.

По оценке техногиганта, это почти завершающий этап восстановления «Диска» после повреждения инфраструктуры Яндекса.

Ранее, напомним, стало известно, что ни один из трёх суперкомпьютеров Яндекса («Ляпунов», «Червоненкис» и «Галушкин») не пострадал при атаках на дата-центры компании. Оборудование уже вывезли с прежних площадок и разворачивают на новых.

Из-за атак на Яндекс облачный рынок столкнулся с неприятной перспективой: восстанавливать мощности придется дорогим оборудованием, а защищать площадки — за дополнительные деньги. Часть этих расходов в итоге может добраться до клиентских счетов.

RSS: Новости на портале Anti-Malware.ru