Przegląd

Linux 6.19 to kolejne wydanie pełne istotnych zmian. Od mechanizmu aktualizacji jądra bez restartu maszyn wirtualnych, przez nowe wywołanie systemowe, po znaczące ulepszenia systemów plików i schedulera. Oto najważniejsze nowości.


Live Update Orchestrator (LUO)

Najgłośniejsza nowość tego wydania. LUO to podsystem jądra umożliwiający aktualizację jądra przez kexec z zachowaniem stanu zasobów. W praktyce oznacza to, że maszyny wirtualne mogą kontynuować pracę podczas wymiany jądra hosta z minimalnym przestojem.

To ogromna zmiana dla środowisk chmurowych i wirtualizacji, gdzie dotychczas aktualizacja jądra hosta wymagała migracji lub restartu wszystkich VM.


Nowe wywołanie systemowe: listns(2)

Nowy syscall pozwala na wyliczanie przestrzeni nazw (namespaces) bez skanowania /proc. Oferuje paginację, filtrowanie i sprawdzanie uprawnień. Jest to znacznie wydajniejsze podejście niż dotychczasowe parsowanie procfs, szczególnie w systemach z tysiącami kontenerów.


Systemy plików

Btrfs

  • Shutdown ioctl — eksperymentalna obsługa kontrolowanego wyłączania systemu plików
  • Async checksum — równoległe obliczanie sum kontrolnych (lepsza wydajność)
  • Ulepszenia scrub — zawieszanie i wznawianie scrub/device replacement z zachowaniem stanu
  • Przygotowania pod fscrypt — prace nad szyfrowaniem na poziomie systemu plików

ext4

  • Bloki większe niż rozmiar strony — wsparcie dla bloków >4K
  • Szybsza defragmentacja online — ~50% poprawa wydajności zapisu podczas defragmentacji
  • Lepsze Direct I/O — zwiększona przepustowość operacji bezpośrednich

NFS

  • Direct I/O read — odczyt bezpośredni przez NFS
  • Lepsza wydajność zapisu — dzięki opcji NFSD_IO_DIRECT
  • Delegacja katalogów — nowa opcja modułu

Pamięć i zarządzanie zasobami

  • Device-Private THP — Transparent Huge Pages na pamięci urządzeń (GPU)
  • NUMA mempolicy dla KVM — afiniczność NUMA dla pamięci gości KVM
  • Dmabuf-iommufd — integracja buforów pamięci GPU z IOMMU
  • Obsługa ECC — korekcja błędów dla stron bez metadanych struct page

io_uring

io_uring kontynuuje rozwój:

  • Mieszane rozmiary SQE — wpisy kolejki zgłoszeń mogą mieć różne rozmiary
  • Zcrx: multi-ring — współdzielenie kolejki sprzętowej RX między wieloma ringami
  • getsockname/getpeername — nowe operacje na socketach
  • Zapytania o layout SQ/CQ — dla ringów dostarczanych przez użytkownika

Scheduler

  • NEXT_BUDDY dla EEVDF — przywrócenie mechanizmu preferowania “następnego” procesu w schedulerze EEVDF
  • Proporcjonalne newidle balance — optymalizacja równoważenia obciążenia
  • Przepisany MM CID — nowe zarządzanie identyfikatorami kontekstu pamięci
  • sched_ext — lepsze skalowanie trybu bypass

Grafika i sterowniki

  • Color Pipeline API — nowe API do transformacji kolorów, kluczowe dla obsługi HDR w Linuksie
  • Sharpness property — adaptacyjne filtrowanie ostrości (Intel Lunar Lake+)
  • Arm Ethos NPU — sterownik akceleratora sieci neuronowych ARM
  • AMD SI/CIK — wsparcie Vulkan dla starszych kart AMD

Tracing i debugowanie

  • SFrame — nowy format rozwijania stosu, znacznie szybszy od DWARF przy minimalnym narzucie wydajnościowym
  • CONFIG_DEBUG_BUGVERBOSE_DETAILEDWARN_ON_ONCE() teraz wypisuje warunek, który został spełniony — łatwiejsze debugowanie
  • klp-build — skrypt do generowania łatek livepatch z objtool

Rust w jądrze

Ekosystem Rust w kernelu rośnie:

  • Abstrakcje dla podsystemu PWM (z pierwszym sterownikiem th1520)
  • Podstawowe abstrakcje I2C
  • Typy bounded integer
  • Obsługa parametrów modułów jako liczb całkowitych
  • Binary large objects dla debugfs

Bezpieczeństwo

  • Szyfrowanie linków PCIe — bezpieczna komunikacja dla poufnych maszyn wirtualnych, szyfrowanie ruchu między VM a urządzeniem
  • Uaccess scopes — nowe zarządzanie dostępem do pamięci użytkownika oparte na zakresach, poprawiające bezpieczeństwo
  • CPU System Wakeup QoS — nowy interfejs do określania limitów jakości wybudzania

Podsumowanie

Linux 6.19 to mocne wydanie. Live Update Orchestrator zmienia zasady gry dla chmury i wirtualizacji. Ulepszenia Btrfs i ext4 poprawiają codzienną wydajność. Color Pipeline API otwiera drzwi do pełnego HDR na desktopie. A ekosystem Rust w kernelu z każdym wydaniem staje się coraz bardziej funkcjonalny.

Pełna lista zmian: kernelnewbies.org/Linux_6.19