Вышла новая версия ядра Linux 6.15, которая включает значительные улучшения, новые функции и поддержку современного оборудования. Основное внимание в обновлении уделено драйверам, сетевым улучшениям и оптимизации файловых систем.
Поддержка графики NVIDIA и Intel
В ядре 6.15 появилась начальная поддержка драйвера Nova, который разрабатывается как замена Nouveau для современных графических процессоров NVIDIA с архитектурой GSP. Драйвер написан на языке Rust. На данный момент это базовая реализация без поддержки дисплея, но проект обещает стать важным шагом для улучшения работы NVIDIA на Linux.
Драйвер Intel Xe также получил обновления. Теперь он поддерживает Shared Virtual Memory (SVM), уведомления о сбоях GPU и мониторинг температуры для видеокарт Arc через HWMON.
Новые подсистемы и спорные изменения
Подсистема fwctl, добавленная в ядро 6.15, упрощает взаимодействие с прошивками устройств через удаленные вызовы процедур (RPC). Она поддерживает устройства CXL, сетевые адаптеры mlx5 и карты AMD/Pensando. Включение fwctl вызвало дискуссии из-за непрозрачного процесса разработки и возможного дублирования существующих API.
Еще одно изменение, вызвавшее споры, — хук безопасности для io_uring. Он позволяет SELinux применять политики контроля данных, читаемых ядром. Несмотря на критику Торвальдса за сложность, хук вошел в релиз, демонстрируя баланс между инновациями и соблюдением стандартов разработки.
Сетевые улучшения
Ядро 6.15 добавляет поддержку zero-copy receive (zcrx) через io_uring, что снижает накладные расходы на копирование данных в сетевых приложениях. Zcrx упрощает передачу данных в пользовательское пространство без сложных операций mmap.
Новая опция TCP_RTO_MAX_MS позволяет настраивать таймауты повторных попыток соединения по IPv4, что полезно для нестабильных сетей. Добавлен API fanotify для мониторинга событий монтирования и размонтирования файловых систем в реальном времени.
Оптимизация файловых систем
Подсистема FUSE теперь поддерживает таймауты для неотвечающих серверов и обработку имен файлов длиннее 1024 символов, что предотвращает зависания, например, при использовании SSH.
Файловая система exFAT значительно ускорила удаление больших файлов. С опцией монтирования «discard» удаление файла объемом 80 ГБ сократилось с более чем 4 минут до 1,6 секунды благодаря оптимизациям от Sony.
Btrfs получила поддержку быстрого сжатия zstd с уровнями от -15 до -1, что повышает производительность при снижении степени сжатия. Также добавлен переход на буферизированную запись для прямого ввода-вывода на файлах с контрольными суммами, что уменьшает ошибки в виртуальных машинах.
Файловая система Bcachefs обзавелась функцией «scrub» для поиска и исправления ошибок, а также поддержкой блоков, превышающих размер системной страницы.
Поддержка ARM и RISC-V
Ядро 6.15 расширяет поддержку устройств на архитектурах ARM и RISC-V. Добавлены деревья устройств для Google Pixel Pro 6 (gs101) и Allwinner A523. Для RISC-V реализована поддержка платы Milk-V Jupiter ITX и расширений BFloat16, ZBKB, Zaamo и Zalrsc.
Драйверы и поддержка устройств
Релиз включает драйверы для сенсорной панели Apple Touch Bar на MacBook Pro с процессорами Intel, M1 и M2, обеспечивая управление подсветкой, сенсорным вводом и отображением функциональных клавиш. Драйвер для Samsung GalaxyBook улучшает работу ACPI, управление зарядом батареи и функциональными клавишами.
Контроллеры Sony PlayStation 5, Xbox Turtle Beach Recon, Stealth Ultra и PowerA Wired Controller получили улучшения. Добавлена поддержка сетевых адаптеров Intel Killer E5000 (на базе Realtek RTL8126) и устройств Moza Racing, Cammus и других симуляторов.
Среди прочих изменений:
- переход псевдофайловых систем на новый API монтирования;
- получение статуса завершения процесса через pidfd после его удаления;
- опциональная блокировка отображения памяти для повышения безопасности;
- поддержка профилирования задержек в подсистеме perf;
- поддержка файловой системы XFS зонированных устройств хранения данных;
- опция traceoff_after_boot для отключения трассировки после загрузки;
- видеодекодер Qualcomm Iris для h.264;
- поддержка Rust для ARMv7 и новые абстракции;
- требование Python 3.9+ для работы с кодом и документацией ядра.
>>> Подробности