Linux-ядро сделает TSC обязательным требованием для x86-процессоров

После снятия поддержки устаревших чипов вроде Intel 486, AMD K5 и AMD Elan ядро Linux избавляется от legacy-кода таймера. TSC, скорее всего, станет безусловным требованием для x86-процессоров в цикле разработки Linux 7.2.

Обложка: Linux-ядро сделает TSC обязательным требованием для x86-процессоров

Разработчики ядра Linux готовятся сделать поддержку TSC безусловным требованием для всех x86-процессоров. Это стало возможным после снятия поддержки устаревших чипов: Intel 486 уже исключён из кодовой базы, а поддержка AMD K5 и AMD Elan находится в процессе удаления.

TSC (Time Stamp Counter) — это высокоточный счётчик тактов процессора, появившийся ещё во времена Intel Pentium. Он позволяет ядру измерять время с минимальными накладными расходами и используется в задачах от профилирования до планирования процессов.

Ранее код ядра содержал альтернативные пути для систем без TSC, поскольку поддержка распространялась на процессоры i486 и другие старые чипы, где счётчик отсутствовал. Теперь, когда эти архаичные платформы исключены из кодовой базы, мейнтейнеры подготовили патч, который делает TSC обязательным через систему конфигурации ядра (Kconfig).

Параллельно из ядра вырежут альтернативные ветви кода без TSC: лишние проверки и резервные реализации уйдут, что упростит кодовую базу.

Ключевые выводы

Ядро Linux готовится сделать TSC безусловным требованием для x86-процессоров.

Решение стало возможно благодаря снятию поддержки устаревших чипов: Intel 486, AMD K5 и AMD Elan.

Патч уже находится в подготовительной ветке ядра и ожидается в цикле разработки Linux 7.2.

Удаление альтернативных ветвей кода упростит кодовую базу.

Что изменится для x86-процессоров в Linux

Для современного железа — ничего: все актуальные x86-процессоры (от Intel Core и Xeon до AMD Ryzen и EPYC) давно имеют TSC. Изменение затронет только разработчиков, которые всё ещё собирают ядро для ретро-совместимости.

Поддержка Intel 486 держалась в ядре десятилетиями из-за принципа максимальной совместимости, но в 2025–2026 годах мейнтейнеры начали массовую чистку legacy-кода. Удаление non-TSC путей — логичное продолжение этого процесса: раз чипов без счётчика больше не поддерживают, зачем тащить обходные механизмы?

Часто задаваемые вопросы
1
Что такое TSC в процессоре?

TSC (Time Stamp Counter) — это регистр процессора, который считает такты с момента сброса. Ядро Linux использует его как источник высокоточного времени с минимальными задержками.

2
Какие процессоры потеряют поддержку?

Преимущественно архаичные чипы эпохи i486, AMD K5 и AMD Elan. Все актуальные x86-процессоры, включая Intel Core, Xeon, AMD Ryzen и EPYC, имеют TSC и не пострадают.

3
В какой версии ядра ожидается изменение?

Патч уже принят в подготовительную ветку и, скорее всего, попадёт в основную ветку в цикле разработки Linux 7.2.

4
Повлияет ли это на производительность современных систем?

Нет. Все современные x86-процессоры уже используют TSC как основной источник времени. Изменение лишь уберёт редко используемые альтернативные ветви кода, что упростит поддержку ядра.

Выводы

Отказ от альтернативных ветвей кода без TSC — ещё один шаг к чистке legacy-кода в Linux. Упрощение архитектуры x86-платформы ускорит дальнейшую разработку ядра и снизит нагрузку на мейнтейнеров, которые больше не будут тестировать редкие конфигурации без счётчика тактов.

Источник: Phoronix