Вектор розвитку системи Perfscale
Linux позбувається спадщини ARM

Підтримка актуальності одного з найскладніших програмних проєктів у світі вимагає постійного балансу між сумісністю та прогресом. Арнд Бергман, який курує ARM-підсистему ядра Linux, ініціював новий етап очищення коду, метою якого є вилучення підтримки платформ, що давно втратили свою актуальність.
Процес відмови від підтримки буде реалізовано поетапно: спершу цільові платформи отримають статус застарілих (deprecated), що стане сигналом для користувачів, які ще їх використовують, а згодом їхній код буде повністю вилучено з дерева ядра. Остаточна точка в цій ревізії має бути поставлена до початку 2027 року. Варто зауважити, що це не перша спроба провести подібну «інвентаризацію» — аналогічні ініціативи впроваджувалися ще у 2024 році, проте тоді процес було призупинено. Цього разу розробники мають намір довести справу до кінця, синхронізувавши фінальний етап із виходом чергової LTS-версії ядра, що забезпечить стабільний перехід для корпоративного сектору.
Перелік кандидатів на вилучення охоплює широкий спектр застарілих технологій. Насамперед під удар потрапляють платформи, які так і не були переведені на механізм Device Tree — сучасний стандарт опису обладнання, що дозволив відійти від громіздких статичних файлів опису кожної окремої плати. Також зі складу ядра вилучать підтримку ранніх процесорів ARMv6 (включаючи ARM1136r0), систем на кристалі (SoC) серій OMAP24xx та i.MX31, а також розширення iWMMXt і старий інтерфейс OABI.
Особлива увага приділена мікроконтролерам Cortex-M3, M4 та M7: їхня підтримка в основному ядрі Linux також буде припинена. Крім того, режим big-endian для ARMv7 буде переведено в категорію BROKEN. У термінології розробки ядра це означає, що код може формально бути присутнім, але повноцінне тестування цієї конфігурації припиняється, і її стабільність більше не гарантується.

Логіка цього рішення диктується не стільки фізичним віком заліза, скільки відсутністю активної спільноти навколо нього. Коли платформа перестає мати користувачів і розробників, готових тестувати нові версії ядра та виправляти помилки, вона перетворюється на «мертвий код». Підтримка таких систем невиправдано роздуває обсяг вихідного коду та створює додаткові складнощі при модернізації сучасних підсистем ядра, оскільки будь-які зміни мають перевірятися на сумісність із цією спадщиною.
Для переважної більшості сучасних користувачів ці зміни пройдуть абсолютно непомітно. Мова йде про глибоко спеціалізовані вбудовані пристрої та старі плати, які або давно зняті з виробництва, або працюють на сильно модифікованих, «заморожених» версіях ядра. Сучасна екосистема ARM — від актуальних одноплатних комп'ютерів і смартфонів до потужних серверних процесорів — жодним чином не зачеплена цією чисткою, оскільки базується на зовсім інших стандартах реалізації.

