Linux 7.2: Nowa wersja przynosi wsparcie dla kart AMD
Daniel Wlaźlakprogramist | fot. http://elements.envato.com/
Nowe wydanie jądra Linux 7.2 uzupełnia stolik narzędzi administratorów o szereg funkcji wyczekiwanych od lat zarówno przez użytkowników desktopów, jak i przez zespoły utrzymujące serwery czy klastry w chmurze. Wersja ta przynosi fundament pod obsługę HDMI 2.1 dla kart AMD, udoskonala sposób, w jaki scheduler przypisuje wątki do rdzeni, oraz aktualizuje praktycznie każdy podsystem – od plików i pamięci po sieć, wirtualizację i zabezpieczenia.
Obsługa HDMI 2.1 FRL w sterowniku AMDGPU
Najgłośniejszą nowością jest wprowadzenie pierwszego etapu wsparcia dla Fixed Rate Link – techniki transferu danych wymaganej przez standard HDMI 2.1. FRL pozwala znacząco zwiększyć przepustowość złącza, co przydaje się przy rozdzielczościach 4K 120 Hz lub 8K i przy włączonej głębi barw 10-bit. W praktyce nowe komponenty kodu umożliwiają już nawiązywanie połączeń FRL, jednak opcja pozostaje wyłączona domyślnie i wymaga ręcznej aktywacji w parametrze kernela, ponieważ twórcy sterownika chcą zebrać dodatkowe raporty z różnych konfiguracji sprzętowych.
Na pełne wsparcie dla funkcji pokrewnych – takich jak zmienna częstotliwość odświeżania (VRR) czy automatyczne przełączanie trybu gry (ALLM) – trzeba jeszcze poczekać, ale przełamanie dotychczasowego impasu oznacza, że monitory i telewizory z najnowszym HDMI wreszcie trafiły na roadmapę linuksowego sterownika Radeonów. W najbliższych wydaniach spodziewane jest także wprowadzenie dynamicznego tone-mappingu i dalsza praca nad redukcją opóźnień sygnału.
Planowanie zadań świadome pamięci podręcznej
Coraz większa liczba rdzeni sprawia, że klasyczne algorytmy schedulera muszą uwzględniać nie tylko obciążenie CPU, lecz także organizację pamięci cache. Wersja 7.2 potrafi zidentyfikować klastery rdzeni, które współdzielą wyższe poziomy pamięci podręcznej, i stara się grupować powiązane wątki w obrębie tych klastrów. Redukuje to migracje danych między L3 a RAM-em, co przekłada się na niższe opóźnienia i nieco wyższą wydajność w aplikacjach intensywnie korzystających z koherencji pamięci, np. w bazach danych in-memory czy przy renderingu równoległym.
Mechanizm działa transparentnie – nie wymaga zmian w oprogramowaniu użytkownika. Testy deweloperów pokazują, że na procesorach z wieloma modułami CCX lub chipletami (np. AMD Ryzen 7950X, Intel Sapphire Rapids) przyrost wydajności aplikacji zależnych od przepustowości cache może sięgać kilku procent bez zauważalnego wzrostu zużycia energii.
Udoskonalenia w systemach plików i przechowywaniu danych
Btrfs przechodzi na domyślne „duże folio”, czyli jednostki przydziału danych większe od standardowych stron pamięci. Dzięki temu operacje I/O wykonywane są rzadziej, co poprawia throughput przy transferze dużych plików i redukuje fragmentację. Z kolei wbudowany sterownik NTFS potrafi szybciej obsługiwać indeksy katalogów, a klient SMBv3 zyskał możliwość transparentnego kompresowania plików po stronie serwera.
W środowiskach serwerowych uwagę zwraca zwiększenie domyślnego rozmiaru bloku NFS do 4 MB na systemach dysponujących co najmniej 16 GB RAM-u. Większe bufory przyspieszają replikację dużych plików i kopii zapasowych, choć administratorzy muszą pamiętać o ewentualnym dostrojeniu limitów stosu sieciowego w starszych dystrybucjach.
Sieć, wirtualizacja i bezpieczeństwo
Kernel 7.2 wprowadza sygnalizowanie prefiksów IPv6 w ramach Multipath TCP, co ułatwia płynne przełączanie tras w sieciach o wysokiej dostępności. Dodano także obsługę GRO i GSO dla protokołu PPPoE, popularnego w sieciach dostępowych xDSL. Na poziomie bezpieczeństwa pojawiła się opcja uwierzytelniania segmentów TCP (TCP-AO), poprawiająca odporność na ataki klasy spoofing, a Landlock – piaskownica działająca w przestrzeni użytkownika – potrafi teraz precyzyjniej ograniczać dostęp aplikacji do gniazd UDP.
W świecie KVM odnotowano lepsze raportowanie zdarzeń PMI w maszynach wirtualnych oraz usprawnienia w emulacji instrukcji AVX-512. Dzięki temu hypervisory mogą z większą dokładnością odzwierciedlać architekturę hosta, co jest istotne przy wdrażaniu zaawansowanych kontenerów gęstych.
Nowe sterowniki, sprzęt i rozwój kodu
Listę obsługiwanych urządzeń rozszerzono o mobilne procesory Intel Panther Lake R, adapter USB Wi-Fi TP-Link TL-UB250 czy bezprzewodowy kontroler Hori Horipad dla Nintendo Switch. W gałęzi mainline zadebiutowały też kolejne sterowniki sensorów temperatury i regulatorów napięcia, co uprości monitorowanie nowej generacji płyt głównych w serwerach edge.
Warto odnotować, że kod w Rust – wprowadzony pilotażowo rok temu – można już kompilować dla platformy IBM S/390. Rozwój tej części projektu ma długoterminowo zmniejszyć ryzyko błędów klasy use-after-free i spowodować, że moduły odpowiedzialne za obsługę peryferiów staną się bezpieczniejsze, zachowując przy tym wydajność modułów pisanych w C.
Źródła jądra są publicznie dostępne w repozytorium kernel.org. Choć nic nie stoi na przeszkodzie, by samodzielnie skompilować nową wersję, większość użytkowników doceni wygodę aktualizacji poprzez menedżer pakietów, gdy tylko opiekunowie danej dystrybucji włączą Linux 7.2 do swojego kanału stabilnego.