Linux 7.0-rc2 wyszedł 1 marca. Stabilna wersja powinna pojawić się w połowie kwietnia. Numer 7.0 brzmi poważnie, ale Linus Torvalds od razu uciął spekulacje — zmiana wersji to kwestia czytelności, nie rewolucji architekturalnej. Po prostu 6.x zaczęło mieć za duże numery.

To powiedziawszy — zmian jest sporo i kilka z nich jest naprawdę istotnych.

Rust przestaje być eksperymentem

Od kilku lat Rust w kernelu miał status eksperymentalny. W 7.0 oficjalnie przestał. Miguel Ojeda zamknął ten rozdział patchem, który usuwa flagę “experimental”. Rust w kernelu zostaje na stałe.

Na dzień dzisiejszy to ~25 000 linii Rusta przy ~34 milionach linii C. Nikt nie zamierza przepisywać jądra — chodzi o nowe sterowniki i moduły, gdzie bezpieczeństwo pamięci ma znaczenie. Poprawiono też budowanie kernela z LTO i Rustem jednocześnie.

Pamięć — konkretne optymalizacje

Zmiany w podsystemie MM są jednym z mocniejszych punktów tego wydania.

Compressed writeback dla Zram — dotychczas Zram zapisywał dane na dysk w formie nieskompresowanej. Teraz obsługuje zapis skompresowany, co oszczędza CPU i energię. Laptopy powinny to odczuć.

Szybsze hugepages — clearing stron przy demand faulting dla 2MB+ stron jest teraz ciągły (clear_pages()), co lepiej współgra z hardware prefetcherem. Na AMD Zen przełącza się na cacheline allocation elision dla danych większych niż LLC — lepsza przepustowość bez wyrzucania przydatnych danych z cache.

Gigantic folio allocation — alokacja 120 × 1 GB folios spadła z 3.6s do 0.43s. Prawie 10x szybciej.

Unified swapin — konsolidacja kodu swap z usunięciem legacy path. Redis w benchmarkach pokazał 20% przyspieszenie.

PT_RECLAIM — rozszerzony na kolejne architektury 64-bit: Alpha, LoongArch, MIPS, Parisc.

Scheduler

Kontynuacja upraszczania modeli preempcji — teraz zostają dwa: PREEMPT_LAZY i PREEMPT_FULL. Cztery tryby dla nowoczesnych architektur to było za dużo. PREEMPT_LAZY to złoty środek dla typowych obciążeń.

Dodano też rozszerzenie time slice, nad którym pracowano od dekady.

Systemy plików

  • EXT4 — lepsza wydajność równoległych zapisów Direct I/O
  • exFAT — szybsze sekwencyjne odczyty
  • F2FS — kolejne optymalizacje
  • XFS — poprawki w rc2
  • EROFS — poprawki w rc2
  • SMB client — poprawki w rc2
  • Usunięto stary mount API z kodu blokowego, zastąpiony nowszym OPEN_TREE_NAMESPACE

Sterowniki i hardware

CPU:

  • Intel Nova Lake i Diamond Rapids — nowe enablement
  • AMD Zen 6 — eventy wydajnościowe i metryki
  • Qualcomm Snapdragon X2 — kontynuacja upstreamingu

GPU:

  • AMD GFX 12.1 — nowe bloki IP
  • Intel Xe — multi-queue dla Crescent Island, display support dla Nova Lake
  • Nouveau — przywrócenie large pages, lepsza wydajność NVK
  • Qualcomm — Snapdragon 8 Elite Gen 5 display

Inne:

  • Apple USB Type-C PHY
  • Poprawki AMDXDNA Ryzen AI accelerator
  • Framework 13 — kontrola progów wentylatora i temperatury
  • Monitoring sensorów na kolejnych płytach głównych ASUS
  • LG Gram Style 14 — wsparcie głośników
  • Focusrite Forte — interfejs audio USB
  • Intel TSX domyślnie włączony na obsługiwanych procesorach

Sieć

CAKE_MQ — adaptacja SCH_CAKE (popularny qdisc do zarządzania przepustowością) dla nowoczesnych systemów wielordzeniowych.

Poprawki IO_uring IOPOLL.

Usunięte

HIPPI — stary standard sieciowy (800 Mb/s - 6.4 Gb/s) dla superkomputerów z lat 90. Nikt tego nie używa od lat, wreszcie poszedł do usunięcia.

Usunięto też starą opcję Kconfig, która generowała spam w logach — patch od samego Torvaldsa.

Kiedy wyjdzie?

Stabilny Linux 7.0 powinien pojawić się w okolicach 12-19 kwietnia, zależnie od ilości RC. Prawdopodobnie trafi do Ubuntu 26.04 LTS i Fedory 44.


Źródła: Phoronix, Phoronix — rc2, Phoronix — MM, Phoronix — Feature Preview