Торвальдс принял в ядро Linux 7.1 патч на начальное удаление поддержки процессоров i486

от автора

14 апреля 2026 года Линус Торвальдс поддержал добавление в ядро Linux 7.1 (выйдет в июле 2026 года) патча на начальное удаление поддержки процессоров i486 (M486/M486SX/ELAN). Это касается параметров конфигурации ядра (Kconfig) для сборки системы с поддержкой процессоров i486. После удаления кода Kconfig сборка ядра Linux 7.1+ с поддержкой процессоров Intel 486 становится невозможной и затрагивает, в частности, процессоры AMD/Cyrix/IBM/Intel SL/SLC/SLC2/SLC3/SX/SX2 и UMC U5S. Опция M486 Kconfig предназначена для процессоров класса 486, таких как AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 и UMC U5D.

Ранее мейнтейнер архитектуры x86, механизма блокировок и планировщика задач в ядре Linux Инго Молнар (Ingo Molnar) вновь вернулся к теме по поводу прекращения поддержки процессоров i486 в ядре Linux. Молнар опубликовал патч, удаляющий опции для сборки ядра с поддержкой процессоров 486DX, 486SX и AMD ELAN (CONFIG_M486, CONFIG_M486SX и CONFIG_MELAN).

В примечании к патчу Молнара указано, что очень мало кто использует современные ветки ядра Linux на устаревших 32-разрядных CPU и не удалось найти ни одного основного дистрибутива, для которого продолжали бы публиковаться пакеты с ядром, собранные с опцией «M486=y».

Для поддержки CPU i486 в ядре приходится держать код, эмулирующий операции CX8 (сравнить и обменять 8 байт) и TSC (счётчик циклов CPU, используемый в планировщике задач). Подобный код усложняет ядро, затрудняет сопровождение и временами становится источником проблем, разбор которых отнимает время у разработчиков. Прекращение поддержки i486 позволит удалить из ядра 14 104 строки кода, что значительно упростит некоторые функции в ядре за счёт исключения прослоек, эмулирующих CX8 и TSC, и позволит избавиться от библиотеки math‑emu, эмулирующей FPU.

Также вопрос целесообразности удаления поддержки CPU i486 поднимал в прошлом году и Линус Торвальдс при обсуждении очередной проблемы, проявляющейся при эмуляции CX8. Торвальдс считает, что настало время отказаться от поддержки i486, и он не видит причин, чтобы продолжать тратить время разработчиков на решение возникающих из‑за них проблем. Поддержка процессоров i386 была удалена из ядра в 2012 году. По мнению участников дискуссии, сейчас настало время для удаления поддержки CPU 486.

Считается, что в остающихся рабочих системах i486 актуальные ядра Linux практически не используются. Специализированные варианты процессоров i486 для встраиваемых систем, такие как Intel Quark, поддерживают CX8 и TSC, их изменение не коснётся. Старые оригинальные CPU i486, как правило, продолжают использоваться с устаревшими дистрибутивами, поставляющими старые версии ядра Linux. Современные дистрибутивы Linux давно прекратили поддержку 32-разрядных систем x86 или перешли на использование при сборке опции X86_PAE, требующей наличия поддержки CX8.

13 лет назад Торвальдс прекратил поддержку в ядре Linux процессоров i386, так как они потеряли свою актуальность и стали музейной редкостью. Тогда же Торвальдс даже предложил пойти дальше в оптимизации и удалить ветку arch/x86/math-emu с эмуляцией старых сопроцессоров, что необходимо для поддержки 486SX. Но в сообществе не поддержали это предложение: кто-то заметил, что некоторые клоны 486SX до сих пор находятся в производстве. Ранее Торвальдс неоднократно говорил, что он очень радуется, когда предлагают убрать какой-то код из ядра Linux, а не добавить новый.

В октябре 2022 года Торвальдс предложил в новой версии ядра Linux отказаться от поддержки процессоров i486, так как они не умеют работать с инструкцией cmpxchg8b. Данная инструкция поддерживается старыми процессорами x86-32 и современными x86-64, включая Pentium и новее. По мнению создателя Linux, нужно перестать пытаться эмулировать работу данной инструкции на процессорах, которые уже никто не использует. Торвальдс считает, что процессоры i486 потеряли свою актуальность, а те, у кого они ещё есть, могут использовать предыдущие выпуски ядра Linux с долгосрочной поддержкой, которые ещё будут сопровождаться несколько лет. Два года назад это предложение не получило развития.

ссылка на оригинал статьи https://habr.com/ru/articles/1023628/