Разработчики Linux рассматривают отказ от поддержки старых процессоров +17


AliExpress RU&CIS

Разработчики Linux обсуждают отказ от поддержки некоторых старых процессоров, которые в настоящее время включены в основной состав ядра. Архитектуры многих процессоров, которые предлагается удалить, не обновлялись долгое время, поясняют разработчики в рассылке. 

«После официального выхода Linux 5.10 я рассмотрел платформы ARM, которые долго не видели никаких обновлений. Три года назад я удалил несколько архитектур ЦП, однако имеет смысл сделать это оптом», — указывает разработчик Арнд Бергманн. Он отметил, что в список для удаления, вероятно, вошли и те процессоры, которые еще используются.

Бергманн предложил удалить из состава ядра Linux следующие процессоры ARM:

  • ASM9260

  • AXXIA

  • BCM/Kona

  • DigiColor

  • Dove

  • EFM32

  • NSPIRE

  • PicoXcell 

  • PRIMA2

  • Spear

  • Tango

  • U300

  • VT8500

  • ZX

Как пишет Phoronix, решение о прекращении поддержки PicoXcell, выпущенного компанией PicoChip более десяти лет назад, уже принято. Также предлагается удалить некоторые платформы ARM, получившие обновления относительно недавно:

  • CLPS711x

  • CNS3xxx

  • EP93xx

  • Footbridge

  • Gemini

  • HISI

  • Highbank

  • IOP32x

  • IXP4xx

  • LPC18xx

  • LPC32xx

  • MMP

  • Moxart

  • MV78xx0

  • Nomadik

  • OXNA

  • PXA

  • RPC

  • SA1100

Также есть несколько кандидатов на удаление среди не-ARM платформ:

  • H8300

  • C6X

  • SPARC/Sun4M

  • PowerPC/CELL (отдельно от кода PlayStation 3)

  • PowerPC/CHRP

  • PowerPC/AmigaOne

  • PowerPC/Maple

  • M68K для Apollo, HP300, Sun3 и Q40

  • MIPS JAZZ

  • MIPS Cobalt

Наконец, в список вошли некоторые старые платформы, которые, по мнению разработчиков, пора списать:

  • 80486SX/DX

  • Alpha 2106x

  • IA64 Merced (Itanium первого поколения)

  • MIPS R3000/TX39xx

  • SuperH SH-2

  • 68000/68328 (Dragonball)

  • старые модели PowerPC (после PowerPC 601)

Решение об удалении пока не принято; обсуждение началось в пятницу. 

Ядро Linux 5.10 вышло в середине декабря. Оно относится к ветке LTS, что означает, что оно будет поддерживаться как минимум в течение следующих пяти лет. В новую версию вошло более 17 тыс. исправлений, 42% которых связаны с драйверами устройств.

Теги:




Комментарии (24):

  1. NeoCode
    /#22534962 / +1

    Все это наводит на мысль о недостаточной модульности ядра и недостаточной поддержке модульности со стороны языка Си. Зачем удалять, если оно работает? Любой новый код по идее вообще никак не должен влиять на старый.

    • proninyaroslav
      /#22535034 / -2

      В связи с тем что ядро линукс по природе своей монолитно, почти всё находится в основной ветке, и это раздувает и так немалую кодовую базу. Без мейнтейнеров этого легаси ядро просто превратится в помойку.

      • alexxz
        /#22535138

        Это не ядро монолитно, а репозиторий исходного кода довольно монолитен. Не путайте пожалуйста. Само ядро довольно модульное ровно до той степени до которой модульность не вредит стабильности и производительности.

    • wigneddoom
      /#22535312

      Ага, сейчас, в сказках только. API драйверов менятся, новые алгоритмы и внутреядерные фреймворки вводятся. Новый код ещё как влият на старый, который нужно дописывать/переписывать, а тестировать не на чём и мантейнеров нет. И Си тут ни при чем.

    • mynameco
      /#22535530 / +1

      Ну ядро на то и ядро, к нему требований модульности нет.
      А выглядит это скорей всего так, иструкция симд, это макрос, и в хедере огромная портянка из ифдифов под каждую платформу. И так для каждой инструкции. И это еще хороший вариант, если там целые функции под платформы, то очень много кода лишнего и время компиляции. А как это помодульнее сделать и чтобы не заваливать мусором код, сообщество еще не придумало.

      • AllexIn
        /#22536628

        Все HAL придумали, а сообщество Линукс — нет…
        Не делает никто ifdef. Делают хал, который снаружи торчит интерфейсами, а внутри реализует конкретные платформозависимые вещи.
        Проблемы в возможностях. Когда появляется очередная фича в процессорах — для старых надо сделать реализацию в HAL, ну или как минимум заглушку. А как это тестировать, если железа нет? И желающих этим заниматься тоже нет.

        • wigneddoom
          /#22537208

          Всё верно, кроме собщества Линукс. Никто ещё не придумал такой HAL. В темах про Win не зря плач Ярославны стоит, что драйвера из семёрки в 10-ке не работают, да и процессоры старые давно дропнули.


          Из банального, ты делаешь лок-фри алгоритмы, а на старых cpu нет нормальных atomic операций.

          • AllexIn
            /#22537556

            Драйверы из семерки в десятке не работают не из-за HAL, а из-за изменения API.
            API и HAL вещи перпендикулярные.

            ты делаешь лок-фри алгоритмы, а на старых cpu нет нормальных atomic операций.

            А это то, о чем я говорил. Только такие вещи всё равно обходятся. Только делать обход для процессора, которого нет на руках — крайне сложно.

          • NeoCode
            /#22539180

            То что драйвера семерки не работают в десятке это кстати тоже проблемы модульности. Как и то что драйвера семерки или десятки не работают в линуксе.
            Да, это проблемы другого уровня (отсутствие стандартизированного на уровне ISO интерфейса драйвера, отсутствие возможности автогенерации адаптера драйвера для конкретной ОС по метаинформации, хранящейся в драйвере).

        • qw1
          /#22539344

          Все HAL придумали, а сообщество Линукс — нет…
          HAL — это абстракция, которая не Zero Cost

          • AllexIn
            /#22540666

            HAL это абстракция, стоимость которой напрямую зависит от совпадения архитектуры процессора с интерфейсом этой абстракции.
            В идеальном случае HAL это просто обертка вокруг вызовов, как раз с нулевой стоимостью.
            Но, т.к. процессоры имеют разную архитектуру — HAL не будет иметь нулевую стоимость на большинстве платформ, что естественно.

    • dimorphus
      /#22536116

      1. Зачем удалять, если оно работает?

      Никто не знает, работает ли оно или нет. У разработчиков нет этого оборудования (его трудно найти, нового нет). Правки в код этих систем не вносили уже 5 лет. Люди, ответственные за поддержку этого кода самоустранились (потеряли интерес, сменили работу, и т.д.).

      Код останется в прошлых версиях ядер и будет поддерживаться в LTS релизах.

      2. Любой новый код по идее вообще никак не должен влиять на старый.

      В ядре сильно влияет. Внешние интерфейсы сохраняют совместимость, внутренний API — нет.

      • dartraiden
        /#22536736

        Никто не знает, работает ли оно или нет.

        Более того, подозреваю, что этого не знают даже сами владельцы устройств. Потому что вряд ли на такое железо ставят новые ядра.

  2. begemot_sun
    /#22535114

    80486SX/DX — ну короче линукс на принтерах уже не светит?

    • geher
      /#22535274

      Разработчики Linux обсуждают отказ от поддержки некоторых старых процессоров, которые в настоящее время включены в основной состав ядра.

      Т.е. просто выведут из основного состава ядра.
      Далее варианты.
      Если соответствующие модули/патчи не будут никем поддержаны, то останется только возможность использовать старые ядра, в которых поддержка еще была (внезапно, уже сейчас на многих вполне новых устройствах и без того используются не то что старые, а древние ядра).
      Если же кто-то возьмет на себя бремя поддержки, то будут собранные "на стороне" ядра с поддержкой соответствующей архитектуры (подобно новым процессорам, код для которых еще не внесен в "основной состав ядра" или никогда не будет внесен) или можно будет собрать самому.

      • begemot_sun
        /#22535596

        Ну тогда ждем принтеров с Pentium I/II. Никто же бремя поддержки не возьмет, проще на другие процы перейти, ну подумаешь на 5$ дороже выйдет.

        • geher
          /#22535804

          Проще старое ядро оставить (что скорее всего и будет).

          • kagor
            /#22538726

            Я думаю там и так что-то вроде 2.4.* или 2.6.*…

      • edo1h
        /#22536658

        Если же кто-то возьмет на себя бремя поддержки, то

        … эту архитектуру не исключат из ванильного ядра.


        но вот что такой желающие найдутся — сомневаюсь. по поводу vt8500 я был «в теме», сейчас написал человеку, который начинал это дело, он ответил «видимо, пришло время». у меня тоже давно интерес пропал, практической пользы от поддержки этой платформы никакой, а без применения и just for fun тоже не особо выходит.

    • INSTE
      /#22535428

      В принтерах давно arm.

  3. Blackmeser
    /#22537944

    Понятно ещё ARM, понятно ещё заказные, но 486 и IA64 зачем дропать?

    • DaemonGloom
      /#22540556

      Не весь IA64, а только его первое поколение, которое производилось всего год. Скорее всего, их производительности в любом случае не хватает для текущих версий ядер. Равно как и в активном использовании их нет. А костылей для работы с древними процессорами с минимальным набором инструкций требуется порядочно.

    • edo1h
      /#22543510

      не «зачем», а «почему». выше уже ответили на этот вопрос: потому что нет желающих поддерживать.

  4. Banketniy
    /#22540558

    Все верно, шагаем в ногу со временем