Линус Торвальдс объявил о выпуске Linux 7.2. Девятинедельный цикл разработки оказался рекордным по числу участников окна слияния: в подготовке изменений приняли участие более 2100 разработчиков.
Финальная неделя снова принесла больше исправлений, чем хотелось бы Торвальдсу. Однако откладывать выпуск он не стал, заметив, что повышенная активность перед релизом, похоже, становится для проекта «новой нормой». Если переносить выпуск каждый раз, когда последняя неделя оказывается слишком насыщенной, стабильной версии можно вообще не дождаться.
Планировщик начал учитывать кэш процессора
Одним из главных изменений Linux 7.2 стал механизм Cache Aware Scheduling. Он помогает планировщику учитывать устройство современных многоядерных процессоров, в которых группы ядер используют разные домены общего кэша последнего уровня.
Прежде задача могла быть перенесена на формально свободное ядро, но при этом лишиться уже загруженных в кэш данных. В результате процессору приходилось повторно обращаться к памяти, а выигрыш от переноса оказывался сомнительным.
Новый механизм старается удерживать связанные задачи внутри одного кэш-домена. Это должно уменьшить число промахов кэша и повысить эффективность систем с большим количеством ядер. Функция включается параметром "CONFIG_SCHED_CACHE".
Btrfs и Ext4 получили ускорение
В Btrfs поддержка крупных страниц памяти — large folios — перешла из экспериментального режима в стандартный. Ядро может обрабатывать несколько соседних страниц как единый блок, сокращая накладные расходы при операциях с памятью и накопителями.
Разработчики также переработали прямой последовательный ввод-вывод и механизм обратной записи. В отдельных тестах прирост скорости записи достигает десятков процентов, но эти показатели зависят от оборудования, конфигурации файловой системы и характера нагрузки. Поэтому заявленные максимумы нельзя считать универсальным ускорением любой системы.
Улучшения получила и Ext4: изменения касаются параллельной обработки операций ввода-вывода и снижения внутренних блокировок.
Новое оборудование и передача данных через USB4
Linux 7.2 получил начальную поддержку компьютеров Apple на процессорах M3. Такие устройства уже способны загрузить основное ядро Linux, однако поддержка пока недостаточна для обычного повседневного использования.
В ядро также включили драйвер AMD ISP4 для камер в новых ноутбуках на процессорах AMD, начальную поддержку HDMI 2.1 FRL в AMDGPU и подготовительные изменения для следующих поколений процессоров AMD Zen 6, Intel Nova Lake и Diamond Rapids.
Новая подсистема USB4STREAM позволяет организовать высокоскоростную передачу данных непосредственно между двумя компьютерами через USB4 или Thunderbolt. По сути, кабельное соединение можно использовать как быстрый канал обмена данными без отдельного сетевого оборудования.
Rust расширяет присутствие в ядре
Поддержка компонентов на Rust появилась для архитектуры IBM S/390, применяемой в мэйнфреймах. В дерево ядра также добавлена библиотека "zerocopy", предоставляющая инструменты для работы с памятью без лишнего копирования данных.
Одновременно расширены возможности системы безопасности Landlock: теперь она позволяет ограничивать доступ приложений к UDP-сокетам. Подсистема контроля целостности IMA получила механизмы выгрузки и удаления накопленных измерений из памяти ядра.
Linux избавляется от технологических реликвий
В Linux 7.2 продолжилась расчистка устаревшего кода. Удалены более 13 тысяч строк, связанных с эмуляцией процессоров i486, старый драйвер графического адаптера Hercules, поддержка сетевого протокола AppleTalk и драйверы ARCnet для шин ISA и PCMCIA.
Из финального релиза, напротив, пришлось убрать новый «более справедливый» планировщик GPU. Его вернули к прежнему режиму FIFO после сообщений о серьёзном падении производительности и зависаниях при продолжительной нагрузке на графический процессор.
Где в этой истории искусственный интеллект
Анализ истории разработки показал, что приблизительно 5% коммитов Linux 7.2 содержат пометку "Assisted-by", указывающую на применение инструментов искусственного интеллекта.
Однако трактовать это как «5% ядра написано ИИ» неправильно. Метка добровольная, не показывает объём сгенерированного кода и может означать разную помощь — от поиска ошибки и подготовки теста до написания части патча. Кроме того, отсутствие такой пометки не доказывает, что ИИ не использовался.
Linux 7.2 в этом смысле показывает не столько долю машинного кода, сколько постепенное превращение ИИ-инструментов в обычную часть разработки. Ответственность за результат при этом по-прежнему несут люди, подписавшие и принявшие изменения.
#soft @digitaltimeslv
Original in Telegram: https://t.me/digitaltimeslv/10198