Линус Торвальдс объявил об официальном выпуске нового ядра Linux 6.13 с беззаботным обновлением: «Так что на прошлой неделе ничего ужасного или неожиданного не произошло, поэтому я отметил и выпустил финальный релиз 6.13». Теперь позвольте мне рассказать вам об основных обновлениях и функциях, которые он приносит.
Одним из наиболее обсуждаемых улучшений в ядре 6.13 является введение ленивого вытеснения, разумного компромисса между обычным добровольным и полным режимами вытеснения.
В то время как добровольное вытеснение дает обмен некоторой отзывчивостью на повышение производительности, а полное вытеснение обеспечивает почти мгновенное переключение задач с потенциальными затратами на производительность, отложенное вытеснение направлено на предоставление большего количества возможностей для вытеснения, чем добровольный режим, без накладных расходов на полное вытеснение.
Еще одним ценным улучшением в этом выпуске является поддержка атомарной записи в XFS, Ext4 Direct I/O и некоторых режимах md RAID. При поддержке оборудования, которое может безопасно объединять несколько секторов в одну атомарную операцию, эти файловые системы могут обновлять данные более эффективно и надежно.
Ядро Linux 6.13 также демонстрирует улучшения в производительности сети, в частности, за счет приостановки NAPI, представляя метод, который автоматически переключается между ними, обеспечивая эффективность систем при небольшом трафике, а также снижая накладные расходы, когда нагрузка на сеть растет.
Сетевые специалисты по достоинству оценят новый гибкий API устройств для настройки формирования оборудования передачи (TX H/W Shaping). Благодаря встроенным функциям самоанализа разработчики теперь могут запрашивать у оборудования доступные варианты и точно настраивать политики формирования для оптимизации скорости пакетов, использования полосы пропускания или качества обслуживания для различных профилей трафика.
С точки зрения безопасности, защитные страницы всегда были отличным способом перехвата нежелательных или случайных обращений к памяти, запуская фатальный сигнал при каждом прикосновении к ним. Однако их реализация обычно требовала больших накладных расходов на выделение памяти.
Эта проблема решена в ядре 6.13 с облегченными защитными страницами, введенными через новый флаг MADV_GUARD_INSTALL
для системного вызова madvise()
io_uring, асинхронный интерфейс ввода-вывода, вызвавший ажиотаж с момента своего дебюта, в этом цикле претерпевает множество усовершенствований, в том числе:
Что касается ARM, то в Linux 6.13 есть два выдающихся дополнения:
И последнее, но не менее важное: внутренние файловые операции ядра теперь выигрывают от нового механизма подсчета ссылок. Тесты показали прирост производительности на 3–5% в системах, которые жонглируют большим количеством потоков, что является долгожданным улучшением в средах, которые постоянно открывают, закрывают и манипулируют файлами.
Конечно, как и с каждым новым выпуском ядра, под капотом скрывается бесчисленное множество других изменений, в том числе:
Если вы хотите изучить их подробно, рассмотрите возможность проверки окон слияния LWN (Часть 1 и Часть 2) или посмотрите на все слияния в журнале git commit Торвальда. Для тех, кто хочет самостоятельно скомпилировать ядро Linux 6.13, оно теперь доступно для скачивания по адресу kernel.org.