Główne nowości
- Mechanizm pidfd, który pozwala na przypisanie konkretnego PID do procesu. Przypisanie nadal obowiązuje po zakończeniu procesu, aby PID mógł być wydany przy ponownym uruchomieniu. Szczegóły.
- Ograniczenia zakresów częstotliwości w harmonogramie procesów. Na przykład, krytyczne procesy można uruchamiać z minimalnym progiem częstotliwości (na przykład nie mniej niż 3 GHz), a niskopriorytetowe — z górnym progiem częstotliwości (na przykład nie więcej niż 2 GHz). Szczegóły.
- Wsparcie dla układów graficznych rodziny AMD Navi (RX5700) w sterowniku amdgpu. Zrealizowano wszystkie niezbędne funkcjonalności, w tym kodowanie/dekodowanie wideo i zarządzanie zasilaniem.
- Pełna obsługa na procesorach zgodnych z x86 Zhaoxin, stworzonych w wyniku współpracy firmy VIA i rządu Szanghaju.
- Podsystem zarządzania zasilaniem według technologii Intel Speed Select, charakterystycznej dla niektórych procesorów rodziny Xeon. Technologia ta jest godna uwagi dzięki możliwości szczegółowej konfiguracji wydajności dla każdego rdzenia CPU.
- Energooszczędny mechanizm trybu oczekiwania procesów w przestrzeni użytkownika, wykorzystujący instrukcje umwait dla procesorów Intel Tremont. Szczegóły.
- Dopuszczono do użycia zakres 0.0.0.0/8, co daje 16 milionów nowych adresów IPv4. Szczegóły.
- Elastyczny, lekki hypervisor ACRN, dobrze nadający się do zarządzania systemami IoT (internet rzeczy). Szczegóły.
Poniżej przedstawiono niektóre inne zmiany.
Główna część jądra
- Wsparcie dla kompresji firmware'ów w formacie xz, co pozwala na zmniejszenie katalogu /lib/firmware z ~420 MB do ~130 MB.
- Nowa wersja wywołania systemowego clone() z możliwością określenia większej liczby flag. Szczegóły.
- Automatyczny wybór większej czcionki dla wysokich rozdzielczości w konsoli.
- Opcja CONFIG_PREEMPT_RT, oznaczająca szybką integrację zestawu łatek RT w główną gałąź jądra.
Podsystem plików
- Wywołania systemowe BULKSTAT i INUMBERS dla XFS v5, także rozpoczęto pracę nad implementacją wielowątkowego przeszukiwania inode'ów.
- Btrfs teraz wykorzystuje szybkie sumy kontrolne (crc32c) na wszystkich architekturach.
- Do otwartych plików na Ext4 teraz sztywno stosuje się flagę niezmienności (immutable). Zrealizowano wsparcie dla wolnych miejsc (holes) w katalogach.
- CEPH nauczyła się współpracować z SELinux.
- Mechanizm smbdirect w CIFS nie jest już uważany za eksperymentalny. Dodano algorytmy kryptograficzne dla SMB3.1.1 GCM. Zwiększono prędkość otwierania plików.
- Na F2FS można umieszczać pliki wymiany, które działają w trybie dostępu bezpośredniego. Możliwość wyłączenia zbieracza śmieci przy checkpoint=disable.
- Klienci NFS mogą nawiązać jednocześnie kilka połączeń TCP z serwerem za pomocą opcji montowania nconnect=X.
Podsystem pamięci
- Każdemu dma-buf przypisany jest pełnoprawny inode. Z katalogów /proc/*/fd i /proc/*/map_files można uzyskać wiele szczegółowych danych na temat wykorzystania buforów shmem.
- Mechanizm smaps pokazuje oddzielne informacje dotyczące pamięci anonimowej i współdzielonej, a także pamięci podręcznej plików w pliku proc smaps_rollup.
- Użycie rbtree dla swap_extent zwiększyło wydajność w warunkach aktywnego użycia wymiany przez wiele procesów.
- W /proc/meminfo wyświetlana jest liczba stron vmalloc.
- Rozszerzono możliwości tools/vm/slabinfo w zakresie sortowania pamięci podręcznych według stopnia fragmentacji.
Wirtualizacja i bezpieczeństwo
- Sterownik virtio-iommu dla parawirtualizowanego urządzenia, umożliwiający wysyłanie zapytań IOMMU bez emulacji tabel adresowych.
- Sterownik virtio-pmem dla dostępu do pamięci masowej za pośrednictwem fizycznej przestrzeni adresów.
- Przyspieszenie dostępu do metadanych dla vhost. Dla testów TX PPS pokazano wzrost prędkości o 24%.
- Dla vhost_net zerocopy jest domyślnie wyłączone.
- Klucze szyfrujące można przypinać do przestrzeni nazw.
- Wsparcie dla xxhash – niezwykle szybkiego, niekryptograficznego algorytmu haszującego, którego prędkość jest ograniczona jedynie wydajnością pamięci.
Subsystem sieciowy
- Wstępne wsparcie dla obiektów nexthop stworzonych w celu poprawy skalowalności tras IPv4 i IPv6.
- Netfilter nauczył się przenosić filtrowanie na sprzętowe urządzenia przyspieszające. Dodano wbudowane wsparcie dla śledzenia połączeń dla mostów.
- Nowy moduł kontroli ruchu, umożliwiający manipulację nagłówkami MPLS pakietów.
- Usunięto subsystem isdn4linux.
- Dostępne pingi LE dla Bluetooth.
Architektury sprzętowe
- Nowe platformy i urządzenia ARM: Mediatek mt8183, Amlogic G12B, Kontron SMARC SoM, Google Cheza, devkit dla Purism Librem5, Qualcomm Dragonboard 845c, Hugsun X99 TV Box i inne.
- Dla x86 dodano mechanizm /proc//arch_status do wyświetlania specyficznych dla architektury informacji, takich jak czas ostatniego użycia AVX512.
- Optymalizacja pracy VMX dla KVM, prędkość vmexit wzrosła o 12%.
- Dodano i zaktualizowano różne informacje o procesorach Intel KabyLake, AmberLake, WhiskeyLake i Ice Lake.
- Kompresja lzma i lzo dla uImage na PowerPC.
- Chroniona wirtualizacja virtio dla S390.
- Wsparcie dla dużych stron pamięci dla RISCV.
- Tryb podróży w czasie dla User-mode Linux (spowolnienie i przyspieszenie czasu).
Sterowniki urządzeń
- Rozpoznawanie metadanych HDR dla sterowników amdgpu i i915.
- Rozszerzenia funkcjonalności dla układów graficznych Vega12 i Vega20 w amdgpu.
- Multisekcyjna korekcja gamma dla i915, a także asynchroniczne wyłączanie zasilania ekranu oraz szereg nowych firmware.
- Sterownik Nouveau nauczył się rozpoznawać układy z rodziny TU116.
- Nowe protokoły Bluetooth MediaTek MT7663U i MediaTek MT7668U.
- Zrzut TLS TX HW dla Infiniband, a także rozszerzenie monitorowania sprzętowego i temperaturowego.
- Rozpoznawanie Elkhart Lake w sterowniku HD Audio.
- Nowe urządzenia audio i kodeki: Conexant CX2072X, Cirrus Logic CS47L35/85/90, Cirrus Logic Madera, RT1011/1308.
- Sterownik Apple SPI dla klawiatury i gładzika.
- W podsystemie watchdog można ustawić maksymalny czas otwarcia /dev/watchdogN.
- Mechanizm zarządzania częstotliwością cpufreq uzyskał wsparcie dla imx-cpufreq-dt i Raspberry Pi.
Źródło: linux.org.ru
