Авторы ядра Linux вернулись к решению на исключение поддержки процессоров i486

3 мин
Авторы ядра Linux вернулись к решению на исключение поддержки процессоров i486

Мейнтейнер архитектуры 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 с долгосрочной поддержкой, которые ещё будут сопровождаться несколько лет. Два года назад это предложение не получило развития.

Читают сейчас

TG Notion: добавлен английский язык интерфейса

6 часов назад

TG Notion: добавлен английский язык интерфейса

В боте появился английский язык. Теперь все элементы Mini App — вкладки, кнопки, формы, меню — можно переключить на английский. Как это работает: Ознакомиться далее

Goldman Sachs: ИИ уничтожает рабочие места быстрее, чем создаёт их

6 часов назад

Goldman Sachs: ИИ уничтожает рабочие места быстрее, чем создаёт их

Исследование Goldman Sachs показало: искусственный интеллект приводит к потере нескольких тысяч рабочих мест в месяц, и вакансии, которые появляются благодаря ИИ, не могут заполнить этот разрыв. Согла

Binance разрешила ИИ‑агентам торговать

7 часов назад

Binance разрешила ИИ‑агентам торговать

Криптобиржа Binance запустила платформу, где ИИ‑агенты могут анализировать рынки и совершать сделки от имени пользователей. Служба, получивший название Agent OS, включает программный интерфейс Binance

Карта GeForce RTX 3070 некоторое количество лет работала с постоянным перегревом из‑за неправильной заводской сборки

8 часов назад

Карта GeForce RTX 3070 некоторое количество лет работала с постоянным перегревом из‑за неправильной заводской сборки

Владельцу GeForce RTX 3070 удалось выяснить, почему его графика постоянно перегревается. Спустя почти пять лет с момента покупки он обнаружил, что сборщики не сняли защитную прозрачную плёнку с термоп

Asana за две недели заменила систему тестирования при помощи Codex от OpenAI

8 часов назад

Asana за две недели заменила систему тестирования при помощи Codex от OpenAI

Asana за две недели заменила устаревшую систему тестирования, используя Codex от OpenAI. Компании это обошлось примерно в $12 000 против $6 млн согласно предыдущему плану обновления. Читать далее