Nowy Linux wydłuży czas pracy laptopów i ucieszy posiadaczy kart graficznych AMD
Wczoraj wydany został Linux 4.15. Problemy z jakością kodu,które doprowadziły do wydania jeszcze jednej wersji kandydackiej iprzesunięcia premiery o tydzień zostały już rozwiązane Nowewydanie Pingwina to nie tylko nieznośne łatki na Meltdown iSpectre, ale też pełne wsparcie dla nowych kart graficznych AMD,oficjalny port na wolną architekturę procesorową RISC-V,rozwiązanie problemu z zasilaniem dysków SATA w trybie uśpienia ilepsze wsparcie dla gogli wirtualnej rzeczywistości. Nudne towszystko? Linus Torvalds wyjaśnia,że nudne oznacza dobre.
29.01.2018 | aktual.: 29.01.2018 15:42
Grafika AMD na całego
77 dni pracy, ponad 25 mln wierszy kodu, ponad 16 tys. commitów,zmiany w ponad 13 tysiącach plików – pierwsze wydanie Linuksa w2018 roku jest jednym z tych większych. A największą (pod względemobjętości) z tych zmian jest wprowadzenie do kernela nowegosterownika AMDGPU. Ponad 130 tys. wierszy kodu przynosi wsparcie dlastosu wyświetlania kart graficznych RX Vega, dodając w ten sposóbobsługę dźwięku po DisplayPorcie i HDMI, obsługę Multi-StreamTransport i podstawowe wsparcie dla mechanizmu FreeSync. Wszyscy zaśużytkownicy współczesnych grafik od czerwonych dostali wreszcieobsługę atomowych ustawień trybu wyświetlania – przełączaniemiędzy rozdzielczościami i ich testowanie będzie teraz znacznieszybsze i stabilniejsze.
Gogle VR to już nie monitor
Pozostałe interesujące zmiany w zakresie grafiki to wsparcie dlaleasingu DRM, które pozwoli na lepsze działanie gogli wirtualnejrzeczywistości bez wchodzenia w drogę pracy menedżerom okien ikompozytorom w systemie oraz ułatwi aplikacjom komunikację przezwirtualne interfejsy użytkownika wyświetlane w takich goglach.Pierwszym urządzeniem z tego korzystającym jest HTC Vive, które popodłączeniu nie będzie już traktowane jako dodatkowy wyświetlacz.Udało się także podnieść wydajność kart Radeon w środowiskuSteam VR dzięki zastosowaniu mechanizmu planowania priorytetów wAMDGPU.
Jałowy bieg laptopa bardziej oszczędny
Ważną zmianą, którą odczują posiadacze laptopów z Linuksem,jest rozwiązanie problemu z mechanizmem zarządzania energią ALPM(Agressive Link Power Management) w kontrolerach dysków AHCI SATA.Jako że Intel nie udostępnił porządnej dokumentacji tegomechanizmu, a jego dotykanie budziło lęk ze względu na ryzykouszkodzenia danych, przez wiele lat Linuksowi brakowało porządnegowsparcia ALPM. Ze względu na to laptopy działające pod kontroląLinuksa nie mogły przejść w tryb głębokiego uśpienia –wyczerpywały baterię szybciej niż pod kontrolą Windowsa. Teraz,dzięki nowym łatkom aktywującym ALPM bez ryzyka uszkodzenia danychtestowy laptop zmniejszył pobór energii w jałowym trybie o nawet1,2 W.
Kontrola zasobów procesora
Prawdziwy milowy krok poczyniono w dziedzinie kontrolowaniazasobów systemu. Wraz z Linuksem 4.5 dostaliśmypo wielu latach prac nową wersję interfejsu cgroups, tj. grupkontroli z ujednoliconą hierarchią. Sam interfejs jednak niewystarczy, kontrolery poszczególnych zasobów trzeba było od nowaprzepisać. Najbardziej brakowało kontrolera zasobów procesora,który pozwalał ograniczyć grupom zadań wykorzystanie procesora, zuwzględnieniem hierarchicznej dystrybucji po wątkach w grupie.Problem leżał w zasadzie,że wszystkie wątki danego procesu muszą znaleźć się w tej samejgrupie kontrolnej, co nie bardzo miało sens w odniesieniu dorywalizowania o zasoby procesora. Teraz kernel 4.15 pozwoli już naujednolicone kontrolowanie zużycia zasobów także dla procesora.
Serwerowe trwałe pamięci RAM dla systemu plików
Użytkowników serwerowych maszyn z pamięciamiNVRAM (czyli nieulotnej pamięci RAM) będą mogli śmiało dopamięci takich uzyskać dostęp z poziomu systemu plików. Normalniesystem plików steruje wszystkimi operacjami I/O jego pamięcimasowej. Ta kontrola pozwala zapewnić, że struktura systemu plikówpozostaje zawsze spójna. Jednak bezpośrednio odwzorowane w kernelusystemy pamięci trwałych obchodziły kontrolę systemu plików,prowadząc do licznych kłopotów z metadanymi i spójnościądanych. Deweloperzy kernela informują o nowych flagach mechanizmummap, które pozwalają na bezpośredni zapis do takich pamięci zpoziomu samego systemu plików, włączając system plików ponowniedo obiegu na tyle by uniknąć zamieszania, a jednocześnie pozwalajązachować ogromną wydajność takich pamięci.
Bezpieczna szyfrowana wirtualizacja AMD
Wraz z Linuksem 4.14 dostaliśmy obsługę AMD Secure MemoryProtection, czyli szyfrowania i deszyfrowania danych podczas zapisudo RAM, chroniąc w ten sposób zawartość kości DRAM przedfizycznymi atakami. Teraz mechanizm ten zostaje rozszerzony opodstawowe wsparcie dla szyfrowania pamięci dla maszyn wirtualnych,jedynie system-gość ma dostęp do niezaszyfrowanej pamięci, cochroni go przed atakami z poziomu innych maszyn wirtualnych, a nawethiperwizora. To świetna wiadomość dla uruchamiających maszynywirtualne w chmurze, w końcu niby dlaczego mamy ufać na słowo ichoperatorom?
Uodpornienie na exploity przez wirtualny 8086
Nowe procesory Intela zawierają mechanizm User-Mode InstructionPrevention (UMIP) pozwalający na zablokowanie wykonywania pewnychinstrukcji w przestrzeni użytkownika, co uniemożliwia działaniewielu exploitom, wykorzystywanym do zwiększenia uprawnień kodu.Włączenie tej funkcji wiąże się jednak z pewnym kłopotem –otóż aplikacje działające w trybie wirtualnego procesora 8086 wemulatorze DOSEMU czy pod Wine potrzebują niektórych z tychinstrukcji z uzasadnionych powodów. Wprowadzone w Linuksie 4.15rozwiązanie pozwala na włączanie i wyłączanie w zależności odpotrzeb trybu UMIP i emulację tylko tych potrzebnych w wirtualnym8086 instrukcji.
Nowa architektura: RISC-V
Linux 4.15 został oficjalnie przeniesiony na architekturęprocesorową, która choć jest jeszcze w powijakach, budzi wielkienadzieje. RISC-V to pierwsza całkowicie otwarta i wolna od obciążeńpatentowych architektura uniwersalnego przeznaczenia, która ma sięrównie dobrze sprawdzać w maleńkich urządzeniach wbudowanych jaki napędzających chmury serwerach. Już niebawem w sprzedaży pojawisię pierwsza linuksowa płytka deweloperska RISC-V firmy SiFive, awłasne konstrukcje przygotowują m.in. Nvidia, Western Digital,Adapteva, Esperanto Technologies oraz uczelnie ze Szwajcarii, Włoch,Wielkiej Brytanii i Indii.
Meltdown i Spectre
Na sam koniec najbardziej zgrany z tematów: Linux 4.15 jest jużcałkowicie uodporniony na lukę Meltdown w procesorach Intelapoprzez zastosowanie technologii Kernel Page Table Isolation (możnato wyłączyć, podając kernelowi przy rozruchu systemu opcjępti=off). Zabezpieczono też procesory Intela i AMD przed atakamiSpectre v2 za pomocą techniki Return Trampoline (retpoline). Uwaga,zabezpieczenie dotyczy tylko kodu pisanego w assemblerze. By uchronićsię przed atakami z kodu pisanego w C, potrzeba odpowiednich zmianw kompilatorze, które dopiero nadchodzą. Tak samo brakuje jeszczezabezpieczeń przez Spectre v1 – pojawią się w kernelu 4.16.
W Linuksie pojawił się także katalog/sys/devices/system/cpu/vulnerabilities/, z plikami informującymi opodatnościach procesora i zastosowanych łatkach. Odpytanie ich naprocesorze Intela przynosi rezultaty jak na powyższym zrzucieekranu.
To wszystko – czekamy na kernel 4.16. Zainteresowanychszczegółami zapraszamy do obszernego artykułu w KernelNewbies.org.