Linux 4.9: tym razem (z perspektywy zwykłego Kowalskiego) góra urodziła mysz
Pod nazwą kodową „Roaring Lionus” debiutujeLinux 4.9. To duże wydanie, łącznie ponad 16 tysięcy zmian wkodzie, a szczerze mówiąc, z perspektywy zwykłych użytkowników –bardzo mało ciekawe. Wygląda to tak, jakby rozwój Linuksa szedłdziś przede wszystkim we wspieranie nie tylko egzotycznych, alewręcz nieistniejących w praktyce technologii, podczas gdy wielekluczowych dla systemu kwestii wciąż pozostaje nierozwiązanych.
12.12.2016 10:56
Przegląd nowości w 4.9 zacznijmy od tego, co w wydaniu tymfaktycznie ważne. Przede wszystkim są to wirtualnie odwzorowywanestosy kernela (virtually mapped kernel stacks). Przyskompilowaniu dla architektury x86_64 jąder z tym mechanizmem,wszelkie przepełnienia stosu mają być natychmiast, precyzyjniewychwytywane, zamiast zwracać ogólnikową informację o trudnym dozdiagnozowania uszkodzeniu pamięci.
Mechanizm ten już wcześniej był znany z łatek Grsecurity,jednak ceną lepszej diagnostyki i większego bezpieczeństwa byłspory, sięgający 1,5 µs narzut na czas tworzenia procesu. Regresjęw wydajności udało się jednak wyeliminować, zainteresowanychszczegółami odsyłamy do artykułuVirtually mapped stacks na łamach LWN.net.
W grafice mało wyraźnie
Na tym można zakończyć listę ważnych zmian. Cała reszta…no cóż, zacznijmy jak to zwykle bywa od sterowników graficznych.
Sterownik AMDGPU otrzymał eksperymentalne wsparcie dla kartgraficznych z układami Southern Islands (architektura GCN 1.0).Wartość tych zmian w tym ogromnym (niemal 100 tys. linii kodu)sterowniku jest dla normalnych użytkowników znikoma – i tak musibyć on ręcznie włączony, poza tym bardzo wiele mu brakuje wporównaniu do hybrydowego sterownika, nie zapewnia nawet wsparciadla audio po HDMI. Poza tym pojawiła się łatka przynoszącawsparcie dla wirtualnych wyświetlaczy, które można np. udostępnićpóźniej jako zdalne pulpity i wreszcie poprawne resetowanie GPU.
Sterowniki nouveau dla kart GeForce nie dostały tym razem niczego(ktoś w ogóle korzysta z nouveau na poważnie?), sterowniki Intelaprzynoszą m.in. ulepszone wsparcie dla wirtualizacji GPU i różnepoprawki dla architektury Skylake. Coś tam poprawiono też wsterowniku grafiki VC4 dla Raspberry Pi, zmiany mają niecoprzyspieszyć rendering 3D.
Wielka nowość tylko dla Xeonów
W zakresie procesorów jako ważną zmianę obwieszczonowprowadzenie mechanizmu kluczy ochrony pamięci (memory protectionkeys). To bardzo ciekawy mechanizm, który pozwala procesomdziałającym w przestrzeni użytkownika na przypisanie kluczyokreślonym obszarom pamięci i jej ochronę w ten sposób, bezkonieczności. Intel wykorzystał po prostu wcześniej ignorowanebity w każdym wpisie tabeli stron pamięci, tworząc w ten sposóbelegancki sposób zabezpieczania pamięci nie tylko przed innymiaplikacjami, ale też między różnymi wątkami. Sęk w tym, żemechanizm ten pojawi się dopiero w przyszłości w procesorachIntela – i to najprawdopodobniej tylko w serwerowych Xeonach.
Pozostałe pomniejsze zmiany w tej kategorii to drobne zmiany walgorytmie zarządzania częstotliwościami (P-State), którezawocować mają zwiększeniem wydajności niektórych procesorówAtom, poprawki w zarządcy CPUFreq za sprawą których będzie onlepiej korzystał z informacji systemowego planisty, oraz trochęzmian w hiperwizorach KVM i Xen.
Różne różności
Poprawki w systemach plików objęły XFS (tu można wspomnieć omechanizmie dzielonych rozszerzeń danych, który przyda się przyrobieniu szybkich migawek) oraz FUSE (ten moduł systemów plików wprzestrzeni użytkownika obsługuje teraz uprawnienia dostępu ACLstandardu POSIX). Do tego trochę zmian w Btrfs, F2FS i OverlayFS.
Do kategorii „Przeróżne” można zaliczyć dodanieoficjalnego wsparcia dla łącznie 29 urządzeń procesorami ARM(spośród bardziej znanych Raspberry Pi Zero oraz LG Nexus 5),wprowadzenie testowego sterownika EFI do sprawdzania gotowościfirmware na przeprowadzanie na nim operacji zapisu, obsługaintelowego huba sensorów ISH, wykorzystywanego w wielu nowychurządzeniach hybrydowych, oraz wprowadzenie zupełnie nowegopodsystemu Greybus.
Greybus jest działającym na poziomie aplikacji protokołemujednoliconego informowania o sprzęcie, wokół którego powstawałmodularny smartfon Google’a, Project Ara. Z Ary niestety nic niewyszło, no ale cóż, Greybus i tak trafił do Linuksa. Uzasadniałto sam Greg Kroah-Hartman, wyjaśniając, że są też inniużytkownicy tego protokołu, Toshiba ma w swoim kataloguprzynajmniej jeden korzystający z niego czip, niektórzyeksperymentują z sieciowymi zastosowaniami – więc Greybusa niemożna skreślić.