Linux 7.2 w fazie RC: co przynosi nowy cykl jądra
Linus Torvalds wydał Linux 7.2-rc1 i zamknął okno scalania 28 czerwca. To jeden z najbardziej pracowitych cykli od lat: około 13 400 zmian spoza merge’y, najwięcej od czasu 7.0. Drzewo jądra przekroczyło przy okazji 43 miliony linii kodu. Wydanie stabilne spodziewane jest po około ośmiu tygodniach testów, mniej więcej pod koniec sierpnia, i trafi do Fedory 45 oraz Ubuntu 26.10. Poniżej przegląd tego, co już wpadło do drzewa.
Cache Aware Scheduling
Najważniejsza zmiana w schedulerze. Nowa opcja CONFIG_SCHED_CACHE uczy planistę myśleć o cache. Na nowoczesnych procesorach z wieloma domenami L3 (multi-LLC), typowych dla EPYC czy dużych układów Intela, scheduler stara się teraz grupować powiązane zadania w tej samej domenie cache, zamiast rozrzucać je po całym procesorze. Mniej wędrówek między rdzeniami to mniej pudeł w cache i lepsza lokalność danych. To adresuje strukturalne ograniczenie, które ciągnęło się od dawna.
sched_ext: sub-schedulery dalej
Rozpoczęte w 7.1 wsparcie dla sub-schedulerów w sched_ext jest kontynuowane. To fundament pod osobne polityki planowania dla różnych grup kontrolnych, pisane w BPF. Docelowo inny scheduler dla bazy danych, a inny dla zadań wsadowych na tej samej maszynie.
Rust idzie dalej
- Do jądra trafił crate
zerocopy, dający tanie prymitywy do manipulacji pamięcią i izolujący niebezpieczny kod. - Architektura s390 (mainframe’y IBM) dostała wsparcie dla Rusta.
- Nowe „higher-ranked lifetime types" lepiej wiążą czas życia sterownika z urządzeniem, do którego jest podpięty.
Koniec strncpy()
Po sześciu latach pracy z drzewa zniknęło API strncpy(). Funkcja od dawna była źródłem błędów, bo nie gwarantuje terminacji zerem i cicho ucina dane. Jej usunięcie to kamień milowy w wieloletnim hardeningu operacji na łańcuchach w jądrze.
Systemy plików i pamięć masowa
- Btrfs domyślnie używa dużych folio, z eksperymentalnym wsparciem dla folio 2 MB. Do tego usprawnienia w obsłudze RAID i odzyskiwaniu po błędach.
- XFS wsparcie dla urządzeń zoned storage przestało być eksperymentalne. Doszły też poprawki w online fsck i alokatorze.
- ext4 dopracowane journalowanie i niższe opóźnienia operacji na metadanych.
- iomap zyskał wsparcie dla fs-verity, a osobno wylądowała optymalizacja przesuwająca
memsetpoza gorącą ścieżkę, dająca około 5% więcej IOPS na ext4 i XFS. Pisaliśmy o niej osobno. - openat2() dostał flagę
O_EMPTYPATH, pozwalającą ponownie otworzyć deskryptorO_PATH, żeby dobrać się do pliku, który za nim stoi.
Sterowniki i hardware
GPU:
- Wstępne wsparcie AMDGPU dla HDMI 2.1 FRL, czyli wyższe rozdzielczości i odświeżanie przez HDMI
- Intel USB4STREAM
CPU i platformy:
- Apple M3 bootuje się na mainline, na razie tylko do konsoli. Wsparcie jest bardzo wstępne, ale to widoczny postęp prac Asahi.
- Sterownik AMD ISP4 (procesor sygnału obrazu)
- Kontroler PCIe Gen6 Switchtec
- Sterownik konfiguracji dla handheldów OneXPlayer
- Sterownik wentylatorów ARCTIC
Kiedy stabilne wydanie
7.2 jest teraz w fazie release candidate. Przez kolejne tygodnie będą wychodzić kolejne RC z samymi poprawkami, aż jądro się ustabilizuje. Finalne 7.2 spodziewane jest mniej więcej pod koniec sierpnia 2026. To wydanie non-LTS, więc najpierw trafi do dystrybucji rolling i do Fedory 45, a potem jako opcjonalne jądro do Ubuntu 26.10.
Jeśli chcesz testować RC, rób to na maszynie, na której nie zależy Ci na danych. To wciąż kod przedprodukcyjny.
Źródła: Phoronix, 7.2-rc1, Phoronix, oczekiwane funkcje, LWN, okno scalania 7.2, WebProNews