Вышел Linux 6.1
11 декабря 2022 года Линус Торвальдс представил первый стабильный релиз ядра Linux 6.1. Выпуск новой версии ядра Linux вышел в соответствии с графиком, но всё же с задержкой на неделю, спустя два месяца после выхода предыдущей стабильной версии Linux 6.0 в начале октября этого года.
Исходный код Linux 6.1 уже доступен для загрузки на портале kernel.org. Коммит релиза ядра Linux 6.1 на GitHub и на Makefile от Линуса Торвальдса.
Согласно OpenNET, в Linux 6.1 принято 15 115 исправлений от 2 139 разработчиков. Размер патча составляет 51 МБ, что примерно в 2 раза меньше размера патчей от ядер 6.0 и 5.19. Изменения затронули 13 165 файлов, там добавлено 716 247 строк кода и удалено 304 560 строк кода. Около 45% всех представленных в ядре Linux 6.1 изменений связаны с драйверами устройств, примерно 14% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 14% связано с сетевым стеком, по 3% изменений связаны с файловыми системами и с внутренними подсистемами ядра.
Новая версия ядра Linux содержит большое количество изменений, обновлений и доработок, включая:
- поддержку разработки драйверов и модулей на языке Rust;
- модернизацию механизма определения используемых страниц памяти;
- специальный менеджер памяти для BPF-программ;
- систему диагностики проблем с памятью KMSAN;
- механизм защиты KCFI (Kernelk Control-Flow Integrity);
- внедрение структуры Maple tree.
По поводу срыва сроков релиза на неделю из-за будущих праздников Торвальдс пояснил, что он доволен текущим релизом, но никаких поблажек мейнтейнерам проекта по дальнейшей разработке ядра из-за праздников он не приемлет, чтобы не срывать сроки дедлайнов релиза новых версий Linux.
16 октября в процессе выпуска версии ядра Linux 6.1-rc1 Линус Торвальдс отчитал ментейнеров проекта ядра Linux за постоянный срыв дедлайнов и расслабленность в работе. Торвальдс сдержался в обращении в рамках дозволенного, но потребовал, чтобы разработчики перестали постоянно тянуть с отправкой кода. По поводу злоупотребления сроков дедлайнов Торвальдс напомнил, что он и раньше говорил, что это его действительно очень сильно раздражает. По словам Торвальдса, многие мейнтейнеры присылают ему необходимые элементы кода на рассмотрение очень поздно, что ставит под угрозу срыва сроки релиза новых версий Linux. В своём обращении к разработчикам Торвальдс также обратился к тем, кто сдаёт ему проделанную работу после заявленного срока. «Привычку откладывать всё до последнего нужно было оставить в школе. Это совершенно не подходит для разработки ядра Linux», — написал Торвальдс.
Вышел Linux 6.3
23 апреля 2023 года Линус Торвальдс представил первый стабильный релиз ядра Linux 6.3. Выпуск новой версии ядра Linux вышел в соответствии с графиком, спустя два месяца после выхода предыдущей стабильной версии Linux 6.2 в середине февраля.
Исходный код Linux 6.3 уже доступен для загрузки на портале kernel.org. Коммит релиза ядра Linux 6.3 на GitHub и на Makefile от Линуса Торвальдса.
Согласно данным OpenNET, в Linux 6.3 принято 15 637 исправления от 2 055 разработчиков. Размер патча составляет 76 МБ. Изменения затронули 14 296 файлов, там добавлено 1 023 183 строк кода и удалено 883 103 строк кода. Около 39% всех представленных в ядре Linux 6.3 изменений связаны с драйверами устройств, примерно 15% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 10% связано с сетевым стеком, 5% изменений связаны с файловыми системами, а 3% — с внутренними подсистемами ядра.
Новая версия ядра Linux содержит большое количество изменений, обновлений и доработок, включая чистку устаревших ARM-платформ (размер исходных текстов ядра сокращён на 150 тыс., там удалено более 40 старых ARM-платформ) и графических драйверов, продолжение интеграции поддержки языка Rust, добавление утилиты hwnoise (для отслеживания задержек, вызванных особенностями работы аппаратного обеспечения), поддержку древовидных структур red-black в BPF, режим BIG TCP для IPv4, встроенный тест производительности Dhrystone, возможность запрета исполнения в memfd, поддержку создания HID-драйверов, используя BPF, в User-mode Linux (запуск ядра как пользовательского процесса) на системах x86-64 реализована поддержка кода, написанного на языке Rust, добавлена поддержка сборки User-mode Linux при помощи clang с включением оптимизаций на этапе связывания (LTO). Также в Linux 6.3 прекращена поддержка сборки ядра компилятором Intel ICC, которая уже длительное время находилась в нерабочем виде без нужных исправлений.
В Linux 6.3 продолжен перенос из ветки Rust-for-Linux дополнительной функциональности, связанной с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра. Поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру. Предложенная в прошлых выпусках функциональность расширена поддержкой типов Arc (реализация указателей со счётчиком ссылок), ScopeGuard (выполняется чистку при выходе за область видимости) и ForeignOwnable (обеспечивает перемещение указателей между кодом на Си и Rust). Из пакета ‘alloc’ удалён модуль ‘borrow’ (тип ‘Cow’ и типаж ‘ToOwned’). Отмечается, что состояние поддержки Rust в ядре уже близко к тому, чтобы начать принимать в ядро первые модули, написанные на Rust.
Вышел Linux 6.4
25 июня 2023 года Линус Торвальдс представил первый стабильный релиз ядра Linux 6.4. Выпуск новой версии ядра Linux вышел в соответствии с графиком, спустя два месяца после выхода предыдущей стабильной версии Linux 6.3 в конце апреля.
Исходный код Linux 6.4 уже доступен для загрузки на портале kernel.org. Коммит релиза ядра Linux 6.4 на GitHub и на Makefile от Линуса Торвальдса.
Новая версия ядра Linux содержит большое количество изменений, обновлений и доработок, а также исправлений по ранее обнаруженным багам. В Linux 6.4 принято 20 544 исправления от более чем 2 тыс. разработчиков (1, 2). Большая часть представленных в ядре Linux 6.4 изменений (около 40%) связаны с драйверами устройств, примерно 15% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 10% связано с сетевым стеком, по 5% изменений связаны с файловыми системами и с внутренними подсистемами ядра.
В середине июня разработчик из Red Hat Ричард Джонс рассказал, как он спустя 292 612 перезагрузок виртуальных машин в течение 21 часа нашёл редкую ошибку в ядре Linux 6, которая приводила к случайному зависанию системы при загрузке на разных процессорах (на Intel реже, на AMD чаще) и происходила примерно один раз на тысячу загрузок ОС. Причём на одном и том же раннем этапе загрузки ОС и при запуске последней версии qemu. Джонс сообщил мейнтейнерам ядра Linux об этой проблеме, а они уже выпустили нужный патч.