Linux kernel 6.7
Linus Torvalds poinformował o wydaniu jądra Linuksa 6.7, najnowszej stabilnej wersji jądra Linuksa, która wprowadza kilka nowych funkcji i ulepszeń.
Najważniejsze cechy jądra Linuksa 6.7 obejmują implementację systemu plików bcachefs, systemu plików z kopią przy zapisie (COW) dla systemów operacyjnych opartych na Linuksie, zaprojektowanego tak, aby konkurować z nowoczesnymi funkcjami oferowanymi przez systemy plików Btrfs i ZFS, zachowując jednocześnie szybkość i wydajność systemów plików EXT4 i XFS.
Jądro systemu Linux 6.7 wprowadza także obsługę oprogramowania sprzętowego GSP firmy NVIDIA w sterowniku graficznym Nouveau typu open source, który będzie używany tylko na sprzęcie, na którym GSP (procesor systemowy GPU) nie jest obsługiwany, a będzie opcjonalny na sprzęcie, na którym jest już obsługiwany.
Uwzględniono także nowe funkcje systemu plików Btrfs, takie jak raid-stripe-tree, nowe drzewo logicznego mapowania zasięgu plików, w przypadku którego mapowanie fizyczne może nie pasować na wielu urządzeniach, proste rozliczanie przydziałów (squota) i tymczasowy identyfikator fsid systemu plików (temp_fsid).
Co więcej, system plików Btrfs uzyskał poprawę wydajności, co skróciło czas usuwania plików o 12 procent w przypadku plików o wielu zakresach poprzez zmniejszenie rezerwacji na potrzeby usuwania sum kontrolnych oraz skróciło czas wykonywania funkcji krytycznych o 5 procent poprzez usprawnienie łączenia stanów zakresów podczas wstawiania.
Jądro Linuksa 6.7 ulepsza alokator wieloblokowy systemu plików EXT4 i optymalizuje obsługę zwolnionych bloków danych w maszynie zatwierdzającej, aby uniknąć potencjalnej rywalizacji o blokady na spinlocku s_md_lock, a także poprawia zapasowy superblok, aby lepiej aktualizował się po zmianie rozmiaru online lub podczas aktualizacji etykiety lub UUID.
Dostępnych jest również wiele ulepszeń sieciowych, takich jak obsługa dekapsulacji GRO dla IPsec ESP w UDP, obsługa rozpoznawania znaczników czasu TCP włączanych selektywnie przez atrybut trasy, obsługa opcji uwierzytelniania TCP (RFC 5925, TCP -AO) jako bardziej nowoczesny zamiennik opcji MD5, obsługa wysyłania pofragmentowanych skbs przez gniazda vsock i obsługa MCTP przez I3C.
Dodatki sieciowe obejmują obsługę lokalnego kptr na procesor, umożliwiającą alokację i przechowywanie obiektów na procesor na mapach, obsługę wielu czytników kolejki zdarzeń znacznika czasu PTP z różnymi filtrami, obsługę selektywnego opróżniania FDB w sterowniku tunelu VXLAN, a także wsparcie umożliwiające ograniczenie wyuczonych wpisów FDB w mostach, aby zapobiec atakom OOM.
Moduł planowania pakietów Fair Queuing (FQ) otrzymał wbudowany 3-pasmowy priorytet i planowanie WRR, obsługę obejścia i lepsze raportowanie nieaktywnego przepływu. Dodano obsługę instrukcji procesora BPF v4 dla platform ARM32 i s390x wraz z możliwością przypięcia timera BPF do bieżącego procesora i rozszerzonymi zaczepami cgroup BPF sockaddr dla gniazd UNIX.
Jądro Linuksa 6.7 dodaje także początkową obsługę sieciową dla Landlock (kontrola dostępu TCP bind i connect), obsługę poprawek HDA, poprawki Thunderbolt/USB4 w celu obsługi nowych typów sprzętu i urządzeń oraz umożliwia wszystkim sterownikom multimediów korzystanie z VB2 kAPI zamiast starego rdzenia V4L2 videobuf kAPI, który został usunięty.
Z drugiej strony system plików F2FS otrzymał obsługę większego rozmiaru strony poprzez zmianę wewnętrznego rozmiaru bloku dostosowanego do rozmiaru strony i ulepszoną obsługę urządzeń z blokami strefowymi w zakresie odzyskiwania po wyłączeniu zasilania. Obsługa Rusta została zaktualizowana do wersji Rust 1.73.0 w jądrze Linuksa 6.7, a IBT jest teraz domyślnie włączone, jeśli jest również włączone w C.
W przypadku obsługi ARM64 jądro Linuksa 6.7 wprowadza nowe definicje HWCAP i obsługę jednostek PMU Ampere SoC, podczas gdy platforma ARM otrzymała wsparcie dla jednostki przetwarzania danych od AMD/Pensando oraz wsparcie dla nowego, wysokiej klasy urządzenia opartego na RISC-V od Sophgo.
Architektura LoongArch jest teraz obsługiwana na KVM (maszynie wirtualnej opartej na jądrze), dostępna jest także obsługa PREEMPT_DYNAMIC z kluczami statycznymi oraz obsługa instrukcji BPF CPU v4 w architekturze LoongArch. Mówiąc o KVM, platformy ARM oferują teraz obsługę gości dla instrukcji obsługi pamięci, a także obsługę rozszerzeń Smstateen i Zicond, a także wirtualizację senvcfg.
Dla architektury RISC-V jądro Linuksa 6.7 dodaje obsługę cbo.zero w przestrzeni użytkownika, obsługę CBO w systemach opartych na ACPI, obsługę stosów wywołań programowych w tle, obsługę niewyrównanych dostępów w trybie S, obsługę wielu nowych relokacji w module ładującym oraz ulepszenia operacji opróżniania pamięci podręcznej T-Head. Oprócz tego dostępna jest wirtualna konsola debugowania SBI (DBCN) dla RISC-V na KVM.
Zgodnie z oczekiwaniami, jądro Linuksa 6.7 zawiera wiele nowych i zaktualizowanych sterowników zapewniających lepszą obsługę sprzętu – rozszerzono obsługę odczytu pomocniczego adresu MAC podczas przekazywania na urządzeniach Lenovo Thinkpad, ulepszone wstrzymywanie/wznawianie klawiatur ThinkPad Compact, funkcję wykrywania EC GPE w notebooku HP 250 G7, a także interfejs ACPI Obejście IRQ dla laptopów TongFang GMxXGxx/TUXEDO Stellaris/Polaris Gen5.
Linux 6.7 wprowadza nowy sterownik EDAC dla zintegrowanego kontrolera pamięci Versal firmy Xilinx, nowe powiązanie drzewa urządzeń dla konwertera podwyższającego Monolithic Power (MPS) MP3309C, nowości dotyczące podświetlenia „dostawcy” dla 3 tabletów Lenovo x86 z systemem Android, obsługa montowań z mapą id w CephFS, a także zaktualizowana implementacja NFSv4.1 do obsługi błędów NFS4ERR_DELAY podczas trunkingu sesji.
Jądro 6.7 umożliwia także Linuksowi natywną obsługę błędów protokołu łącza CXL sygnalizowanych przez PCIe AER dla platform CXL obecnej generacji, dodaje obsługę SVA dla AMD IOMMU, dodaje obsługę układów Amlogic C3 i S4 SoC dla Watchdog, dodaje początkową obsługę Intel Lunar Lake i promuje firmę Intel Wsparcie Meteor Lake do poziomu stabilnego.
Dla użytkowników AMD jądro Linuksa 6.7 dodaje obsługę kilku nadchodzących platform sprzętowych, w tym GC 11.5, DCN 3.5, VPE 6.1, NBIO 7.11 i DML2, obsługę platform AMD z chipami es83xx, a także AMD ACP 6.3 i 7.0.
Pod względem bezpieczeństwa Linux 6.7 aktualizuje obsługę kryptografii za pomocą nowego interfejsu lskcipher opartego na adresach wirtualnych, ulepszonej wydajności AES/XTS przy 6-kierunkowym rozwijaniu dla PPC, obsługi FIPS 202 SHA-3 w PKCS1Pad i szybkiej ścieżki dla jednostronicowych wiadomości w algorytmie szyfrowania i deszyfrowania dysku Adiantum.
AppArmor otrzymał wstępne wsparcie dla pośrednictwa io_uring i tworzenia użytkowników, nowe ograniczenie użycia Change_profile oraz kilka optymalizacji mających na celu zmniejszenie wąskich gardeł wydajności, które zostały znalezione podczas pobierania secid bieżącego zadania i przydzielania buforów roboczych.
Źródło: lkml.iu.edu/hypermail/linux/kernel/2401.0/05149.html