Po wydaniu Linuksa 6.1-rc1, oto moje spojrzenie na wszystkie interesujące zmiany jądra i nowe funkcje, które pojawiły się w ciągu ostatnich dwóch tygodni. Linux 6.1 wydaje się być kolejnym ekscytującym jądrem z wieloma nowymi funkcjami oprogramowania, nowymi pracami związanymi z obsługą sprzętu i innymi zmianami dla tej wersji jądra na koniec roku 2022, która prawdopodobnie będzie kolejnym wydaniem Linuksa LTS.

Wśród kluczowych cech Linuksa 6.1 jest połączenie początkowej infrastruktury Rust, MGLRU, różne nowe funkcje procesorów AMD, od dodania Platform Management Framework (PMF) do nowych funkcji wydajności, szybsze udostępnianie plików między hostami Linuksa i gościnnymi maszynami wirtualnymi za pomocą 9P, Kernel Memory Sanitizer (KMSAN) został scalony, domyślnie ostrzega przed mapowaniem W+X, przygotowaniami do WiFi 7 i 802.11be po stronie sieciowej, nowym sterownikiem GPU o otwartym kodzie źródłowym i nie tylko.

Poza wszystkimi ekscytującymi zmianami funkcji, Linux 6.1 jest również godny uwagi jako prawdopodobnie wydanie jądra Linux 2022 LTS, które będzie wspierane przez długi czas.

Procesory:

-Kod IBM POWER/PowerPC ma KFENCE dla 64-bitów, wrappery wywołań systemowych i obsługę pamięci tylko do wykonania.

-Port procesora LoongArch zapewnia przeróbkę kodu TLB/cache, obsługę QSpinLock, rozruch EFI, obsługę zdarzeń perf, obsługę Kexec, obsługę eBPF JIT i różne inne funkcje dla tej chińskiej architektury procesora.

-Linux 6.1 rezygnuje z obsługi BF16 dla procesorów Cortex-A510 z powodu problemu sprzętowego, którego nie można obejść w systemie Linux.

-Tabela stron AMD IOMMU v2 działa jako część wspomaganej sprzętowo wirtualizacji IOMMU AMD dla EPYC 7002 procesory „Rome” i nowsze.

-Raportowanie pamięci podręcznej i pamięci podręcznej procesorów AMD z wydajnością i nowszymi procesorami AMD oraz obsługą LbrExtV2 dla procesorów Zen 4.

-AMD Platform Management Framework (PMF) został połączony w celu lepszej obsługi temperatury/zasilania/hałasu z urządzeniami AMD Ryzen nowej generacji.

-Obsługa nowych układów SoC ARM i różnych nowych urządzeń ARM.

-Szybsze dekodowanie błędów pamięci Intel.

-Poprawki AMD P-State i poprawki s2idle dla laptopów AMD Rembrandt.

-Obsługa ramienia w celu wyłączenia łagodzenia Spectre-BHB w czasie wykonywania ze względu na wysokie koszty wydajności.

Grafika/GPU:

-Ciągłe włączanie Intel Meteor Lake.

-Ulepszona obsługa oprogramowania układowego procesorów graficznych Intel.

-Różne ulepszenia Intel Arc Graphics DG2/Alchemist.

-Gang AMDGPU przesyła wsparcie, które jest potrzebne sterownikowi RADV Vulkan do poprawnej obsługi shaderów siatki.

-Obsługa resetowania trybu 2 dla procesorów graficznych RDNA2 serii RX 6000.

-Ciągłe prace nad włączaniem procesorów graficznych AMD RDNA3.

Linux Storage/systemy plików:

-RISC Domyślna konfiguracja jądra-V umożliwia różne formaty obrazów CD-ROM. Nie znaczy to, że prawdopodobnie będziesz używał fizycznego napędu CD z systemem RISC-V, ale do instalacji obrazów i innych nośników w formatach systemu plików ISO9600/Joliet/ZISOFS.

-Obsługa domen współdzielonych oparta na FSCache dla EROFS z przypadkami użycia kontenerów będącymi początkowym celem.

-Poprawki EXT4 i optymalizacje wydajności.

-Znaczące optymalizacje wydajności Btrfs i inne działania w tym coraz częściej używanym systemie plików Linux.

-Obsługa statx() do raportowania szczegółów bezpośredniego wyrównania We/Wy.

Inny sprzęt Linux:

-Automatyczne wykrywanie obsługi przewijania w wysokiej rozdzielczości Logitech HID++ i próbujemy włączyć HID++ dla wszystkich urządzeń Logitech Bluetooth.

-Godne uwagi dodatki obsługujące dźwięk z AMD Rembrandt dodane do kodu Sound Open Firmware, nowa obsługa koprocesora audio AMD „Pink Sardine” i nowy Apple Sterownik MCA SoC do obsługi dźwięku na nowych urządzeniach Apple Silicon.

-Przygotowania do Wi-Fi o ekstremalnie wysokiej przepustowości (EHT) i Multi-Link Operation (MLO) dla Wi-Fi Fi 802.11be i WiFi 7.

-Ciągłe włączanie Intel Habana Labs Gaudi2 dla akceleratora AI nowej generacji.

-Sterownik wejściowy dla panelu operacyjnego IBM.

-Dodano sterownik obudowy klawiatury PINE64 PinePhone (Pro) do wprowadzania danych w systemie Linux.

-Wiele innych ulepszeń laptopów z systemem Linux.

-Obsługa technologii Intel Meteor Lake Thunderbolt.

-Obsługa kontroli przepływu end-to-end USB4 ze sterownikiem sieciowym Thunderbolt jądra Linux.

-Lepsza obsługa „taniego klonu” kontrolerów Nintendo.

-Nowość sterowniki multimediów i dwa istniejące sterowniki zostały wypromowane z wersji testowej.

-Różne dodatki sterowników monitorujących sprzęt.

Wirtualizacja:

-Xen obsługuje teraz VirtIO oparte na dotacjach dla x86_64.

-VirtIO blokuje obsługę „bezpiecznego wymazywania” oraz obsługę udostępniania funkcji vDPA.

-Szybsze udostępnianie plików między maszynami wirtualnymi hosta i gościa dla osób korzystających z 9P protokół dzięki znaczącej optymalizacji 9P VirtIO.

Bezpieczeństwo Linuksa:

-Kernel Memory Sanitizer został połączony jako detektor błędów pamięci dynamicznej wokół niezainicjowanych wartości w kodzie jądra. Ten KMSAN zależy od oprzyrządowania kompilatora obecnie znalezionego w LLVM Clang.

-Linux 6.1 domyślnie ostrzega o mapowaniach jądra W+X, a w przyszłych wydaniach jądra może w pierwszej kolejności zabronić tworzenia takich mapowań.

-EFI pracuje z poufnymi obliczeniami.

-Wzmacnianie Retpoline w celu zapewnienia INT3 po każdym bezwarunkowym skoku.

-SELinux kontynuuje wycofywanie obsługi wyłączania w czasie wykonywania.

-Ulepszenia RNG i kodu kryptograficznego.

Ostrzeżenia uruchomieniowe dla funkcji memcpy() między polami, które wyłapałyby wszystkie przepełnienia bufora oparte na memcpy w ostatnich latach dla jądra.

Inne zmiany jądra Linuksa:

-Więcej porządków w kodzie przed PREEMPT_RT. Jednak praca w czasie rzeczywistym/PREEMPT_RT nie jest jeszcze mainlined i nadal jest wstrzymywana przez przeróbkę printk.

-Ulepszenia dotyczące obsługi informacji o utknięciu ciśnienia (PSI), w tym możliwość włączania/wyłączania danych PSI na poziomie cgroup.

-Ogólna obsługa skompresowanego rozruchu EFI.

-Usunięcie szybkiego portu szeregowego/TTY przez sterownik Firewire IEEE-1394.

-Linux 6.1 kończy usuwanie starego kodu a.out.

-Stary kod sieciowy DECnet został usunięty.

-MGLRU zostało połączone w celu przerobienia kodu odzyskiwania stron jądra Linux i co prowadzi do lepszego doświadczenia użytkownika, szczególnie w przypadku systemów Linux z ograniczoną pojemnością pamięci RAM. Wyniki testów porównawczych wyglądają obiecująco, a ta funkcja jest już zainstalowana na urządzeniach z systemem operacyjnym Chrome i Android.

-Maple Tree zostało wprowadzone jako nowa struktura danych jądra z możliwymi korzyściami w zakresie wydajności.

-Linux 6.1 wydrukuje rdzeń procesora, w którym wystąpił błąd segmentacji. Jeśli administratorzy systemu Linux stwierdzą, że błędy seg nadal występują na tych samych procesorach/rdzeniach, może to być oznaką wadliwego procesora.

-Początkowa infrastruktura Rusta została połączona jako początkowa obsługa języka programowania Rusta. W przyszłych cyklach jądra nowe sterowniki Rust i inne abstrakcje podsystemów jądra zostaną scalone.

Teraz zaczynamy uruchamianie testów porównawczych jądra Linux 6.1…

Categories: IT Info