Выпущена предварительная версия ядра Linux 6.16 RC5: стабильный прогресс и ключевые исправления

Линус Торвальдс анонсировал пятый релиз-кандидат (RC5) для ядра Linux 6.16, и всё идёт по плану. RC5 посвящён драйверам, файловым системам и исправлению мелких ошибок.
Линус описывает этот этап как «довольно стабильный». Это говорит о том, что процесс разработки идёт гладко. Никаких серьёзных сюрпризов, только тот стабильный прогресс, на который можно рассчитывать на данном этапе разработки.
Что нового в Linux 6.16 RC5?
Большинство обновлений на этой неделе касаются драйверов и подсистем. Больше всего изменений коснулось графических и сетевых драйверов, но также были обновлены драйверы USB, RTC (часов реального времени) и платформы.
Это обычное явление на данном этапе цикла выпуска, когда усиливается тестирование и выявляются ошибки в коде, связанном с аппаратным обеспечением.
Вот краткое изложение основных моментов:
1. Обновления драйверов
RC5 включает в себя большое количество исправлений для различных драйверов:
- Графика (GPU): продолжаются работы по улучшению драйверов AMDGPU и Intel Xe. Исправления для приостановки очереди KFD, обратных вызовов дверного звонка и управления питанием дисплея.
- Сеть: улучшения в таких драйверах, как
enic
,virtio-net
,txgbe
иamd-xgbe
, для устранения сбоев при передаче данных, проблем с IRQ и разгрузки. - USB: исправлены ошибки в коде xHCI и Type-C, в том числе в обработке потоков, поведении при возобновлении работы и логике восстановления TRB гаджета.
- Ввод: улучшения в поддержке ALPS, atkbd и Lifebook. Улучшена обработка журналов отладки и состояний гонки.
- Драйверы платформы: исправления для драйверов платформы Mellanox, Dell, HP и ThinkPad, обеспечивающие корректное завершение работы и правильную отмену регистрации устройств класса.
2. Исправление файловой системы
Несколько файловых систем получили небольшие, но важные обновления:
- XFS: предотвращение взаимоблокировок, улучшенные точки трассировки и исправления для зависаний при размонтировании.
- Btrfs: Исправлены ошибки в воспроизведении журналов, обработке индексных дескрипторов и операциях rmdir, чтобы избежать конфликтов в каталогах.
- Bcachefs: улучшения в управлении транзакциями и обработке воспроизведения журнала.
- SMB, NFS, CIFS: различные исправления, связанные с поведением при повторном подключении, обработкой символических ссылок и таймаутами согласования.
Примечательно, что несколько из этих файловых систем представили свои обновления на прошлой неделе, перед выходом rc5.
3. Другие основные изменения
- Управление памятью: очистка в системе анонимных индексных дескрипторов и правильная блокировка критических путей.
- RTC: поддержка новых устройств, таких как S2MPG10, и оптимизация драйверов серии S5M.
- ARM/ARM64 и RISC-V: обновления в деревьях устройств и изменения в системе сборки, например более строгие требования к компилятору (например, Clang 17 для kCFI на RISC-V).
Помимо этого, в релиз включены «случайные исправления». Это обеспечивает общую стабильность и производительность ядра.
Взгляд Линуса Торвальдса на RC5
В письме о выпуске ядра 6.16 RC5 Линус Торвальдс отметил, что «в Linux 6.16-rc5 нет абсолютно ничего странного».
Такой позитивный прогноз говорит о том, что разработка идёт по плану, без особых сюрпризов или препятствий.
Цикл выпуска Linux 6.16 на данный момент
Переход на Linux 6.16 в целом прошёл без особых изменений.
- Цикл выпуска 6.16 начался с «довольно обычного» окна слияния, как описал его сам Торвальдс. Несмотря на небольшой «рост» числа «отстающих» запросов на слияние в конце второй недели, общая статистика по окну слияния выглядела «довольно обычной».
- Linux 6.16-rc1 претерпел около половины изменений в обновлениях драйверов, особенно для графических процессоров и сетевых адаптеров. Изменения, не связанные с драйверами, коснулись обновлений архитектуры, документации и инструментов, а также основных компонентов ядра, таких как файловые системы и сетевые адаптеры. Внесено чуть менее 13 000 коммитов без слияния и около тысячи коммитов со слиянием, авторами которых являются 1783 уникальных пользователя.
- Linux 6.16-rc2 был «довольно тихим» и «даже меньше обычного». Торвальдс предположил, что это может быть связано с тем, что разработчики решили передохнуть после слияния или из-за сезонных летних отпусков в Европе. Изменения в rc2 коснулись в основном сетевых драйверов, Bluetooth и Bcachefs, а также некоторых изменений в инфраструктуре Rust и основных сетевых функциях. При сборке и тестировании rc2 в Qemu были обнаружены некоторые ошибки, исправления которых уже отправлены.
- Тем не менее разработка пошла быстрее, и Linux 6.16-rc3 был «вполне в пределах нормы» для своего этапа и выглядел «совершенно нормально». В нём преобладали изменения, связанные с беспроводными сетями и обновлением драйверов графического процессора, хотя они и не были «по-настоящему масштабными».
- Linux 6.16-rc4 также сохранял «довольно спокойную» траекторию. Примерно треть изменений касалась файловой системы (в основном Bcachefs, но также SMB и Btrfs), ещё треть — драйверов (особенно device mapper из-за откатов, связанных с производительностью), а оставшаяся треть — различных исправлений, включая обновления документации, исправления для архитектуры (LoongArch, x86) и самотестирование.
Сохранение «нормального» состояния rc5 после этих предыдущих этапов свидетельствует о здоровом и предсказуемом процессе выпуска.
Тестирование ядра Linux 6.16 RC5
Как постоянно напоминает сообществу Линус Торвальдс: «Пожалуйста, продолжайте тестировать».
Если вы поддерживаете аппаратные драйверы, используете новейшие функции Linux или участвуете в разработке ядра, пожалуйста, протестируйте ядро 6.16 RC5 и сообщите об ошибках.
Вы можете получить последнюю версию ядра Linux 6.16 RC5 на сайте Kernel.org или в ветке git Линуса Торвальдса: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git.
Тестирование RC5 в системах разработки (не в производственных системах) помогает обеспечить более плавный финальный релиз. Кроме того, сейчас самое время просмотреть журналы изменений, относящиеся к вашим сценариям использования.
В Linux 6.16 RC5 нет серьёзных изменений, но это и к лучшему. Стабильность, отточенность и предсказуемость — именно то, к чему должно стремиться ядро на этом этапе цикла.
Следите за новостями о RC6 на следующей неделе.
Редактор: AndreyEx