Оглавление

29 сентября 2025 года Линус откатал стабильный релиз ядра 6.17. Я пробежался по ченджлогу, померил на свои сценарии и собрал короткую шпаргалку «что важно админу и десктопщику прямо сейчас». Новостей много: Btrfs ускорили, в ext4 подвезли удобную мелочь для I/O, планировщик стал единым для всех, а Live-патчи добрались до ARM64. Плюс приятные штуки в безопасности и сети (DualPI2!).


Главное в 6.17 в двух словах

  • Btrfs быстрее: экспериментальные large folios и несколько точечных оптимизаций (например, кэш битмап свободного места — прирост при создании пустых файлов до ~20%). phoronix.com
  • Новые syscalls: file_getattr() и file_setattr() — аккуратная работа с атрибутами inode без плясок через stat/ioctl. opennet.ru
  • Один планировщик для всех: однопроцессорные конфиги выпилены — теперь везде путь SMP. Код стал чище и единообразнее. opennet.ru
  • DAMON_STAT: штатная статистика доступа к памяти для продакшена — проще подсмотреть «где утекает полёт». phoronix.com
  • Live-patch на ARM64: обновляться «на лету» теперь могут и ARM-серверы/одноплатники соответствующего класса. opennet.ru
  • Core-dump через AF_UNIX: можно сделать аккуратный пользовательский обработчик и маршрутизировать дампы задачам. opennet.ru
  • SCHED_EXT + cgroup: квотирование «расширенного» планировщика через cpu.max. opennet.ru
  • Митигации CPU по классам угроз: включаем «что реально нужно» (user-kernel, guest-host и т.п.), а не галочку на каждую CVE по отдельности. opennet.ru
  • Clang init stack: инициализация переменных стека в Clang — доп. барьер против утечек через «мусор» в памяти. opennet.ru
  • /proc под защитой от подмены через bind-mount. opennet.ru
  • DualPI2 — новый алгоритм контроля перегрузок TCP; бережём QoS-чувствительный трафик, не обижая классический Reno/Cubic. opennet.ru
  • Минутка ностальгии: удалён устаревший pktcdvd; мир окончательно уехал от пакетной записи на оптику. opennet.ru
  • Bcachefs отправили «внешне сопровождаться»: код остаётся в дереве, но без приёма изменений в мейнлайн до доказанной зрелости процесса разработки. phoronix.com

(Официально: mainline 6.17 на kernel.org датирован 28–29 сентября 2025; подробности и архивы — там же. Хороший обзор — у LWN.) Ядро Linux+2Ядро Linux+2


Файловые системы и I/O: где «прибыло»

Btrfs — заметное ускорение без шаманства

В ядре включили large folios (экспериментально) и оптимизировали несколько узких мест: кэш запросов к битмапам свободного места, плотнее XArray-ключи, умнее упреждающее чтение при сжатии. Если у вас Btrfs на рабочих станциях или тестовых VPS с компрессией, 6.17 — вкусное обновление. phoronix.com

ext4 — RWF_DONTCACHE и нули «по-взрослому»

Буферизированный I/O с RWF_DONTCACHE (прочитал — и сразу выкинул из page cache) и новый флаг FALLOC_FL_WRITE_ZEROES в fallocate() (обнуление диапазона силами SSD командой WRITE_ZERO без лишних движений). Пока — только ext4. Для баз данных и CI-артефактов — самое то. opennet.ru


Память и ядро

  • DAMON_STAT — простой сбор «где память простаивает и какова предполагаемая пропускная способность». Удобно для реальной эксплуатации, а не только для лаборатории. phoronix.com
  • Proxy Execution (начальная поддержка) — когда я жду блокировку, могу временно «передать контекст» тому, кто её держит, чтобы он быстрее освободил. Лечим инверсии приоритетов. opennet.ru
  • Проактивный reclaim на уровне NUMA-узлов — гибче чистим память именно там, где нужно. phoronix.com

Безопасность и виртуализация

  • Митигации «по классам» (user-kernel, guest-host, guest-guest и т.д.) вместо списка частных уязвимостей. Меньше оверхеда — больше смысла. opennet.ru
  • Clang «init-stack» — ядро инициализирует переменные стека, закрывая класс утечек. В GCC это раньше делал плагин STACKLEAK. opennet.ru
  • AppArmor умеет ограничивать AF_UNIX, а /proc защищён от подмены bind-mount’ом. opennet.ru
  • KVM/ARM — GICv5, плюс другие точечные улучшения в гипервизоре. opennet.ru

Сеть

  • TCP DualPI2 (RFC 9332) — дружит «чувствительный к задержкам» трафик с обычным без взаимных подлянок.
  • TCP строго держит окно приёма;
  • AF_UNIX: SO_INC / VSOCK: SIOCINQ — как TCP_INQ, только для своих семейств;
  • IPv6 force_forwarding: форвардинг трафика на выбранных интерфейсах;
  • SACK RFC 6675 — официально в музей, используем RACK-TLP. opennet.ru

Железо, графика и драйверы

Традиционно, львиная доля патчей — драйвера. Из интересного: развитие Intel Xe (drm/xe), добавки в AMDGPU (Cleaner Shader, SR-IOV sleep), улучшения i915 (включая drm_panic), шаги по Nova для NVIDIA (Rust, DMA-абстракции, VBIOS-парсер) и куча звуковых/платформенных поддержек (вплоть до Fairphone 4/5 и Framework 13 Ryzen AI 300). Если у вас свежие лэптопы/десктопы — шанс «заработало как надо» вырос. opennet.ru


Что я меняю у себя

  • Рабочий стол с Btrfs — еду на 6.17: интересно посмотреть, как «large folios» + новые кэши скажутся на сборках и копировании дребедени (безопаснее включать на некритичных машинах — фича ещё «экспериментальная»). phoronix.com
  • Сервера на ext4 — точечно пробую RWF_DONTCACHE в своих утилитах и бэкап-пайплайнах, плюс fallocate(... WRITE_ZEROES) под SSD. opennet.ru
  • ARM64-хосты — если у вас живут «на ARM’ах», посмотрите на Live-патчи: меньше ночных рестартов, больше спокойствия. opennet.ru
  • Сеть — тестирую DualPI2 в стенде с миксованным трафиком (VoIP/видео + «обычный» TCP). opennet.ru

Как ставить (коротко и с ремарками)

  • На Ubuntu/Debian любопытствующим подойдёт mainline-пакет (да, для тестов, без Secure Boot). В прод — дождитесь каналов дистрибутива или соберите сами. ubuntuhandbook.org
  • Исходники/тарболл, подписи и ChangeLog — на kernel.org. Ядро Linux+1

Помните: ядро — это не браузер. В продакшене обновляйтесь с планом отката и мониторингом. А вот на рабочей станции — почему бы и не погонять свежак? 🙂


TL;DR

6.17 — «технический» релиз без фейерверков, но с хорошими практическими улучшениями в Btrfs, I/O под ext4, памяти, сетке и безопасности. Если вы админ, тут полно маленьких приятностей, которые экономят секунды и мегабайты — а по итогу часы и гигабайты.


Источники, чтобы «не на слово»