Jądro Linux jest kręgosłupem systemów operacyjnych Linux (OS) i jest podstawowym interfejsem między sprzętem komputera a jego procesami.
Wersja jądra Linux 6.7 został wydany zaledwie kilka tygodni temu (na początku stycznia) i od tego czasu Rozpoczęły się prace nad rozwojem Linuksa 6.8 a obecnie jest już w swoim drugim CR i jak dotąd zaobserwowano szereg ulepszeń w różnych obszarach, ze szczególnym uwzględnieniem sieci, podstawowych protokołów, BPF, interfejsów API sterowników, obsługi nowego sprzętu i aktualizacji sterowników.
Y wśród najważniejszych zmian które zostały ujawnione, jeden z nich się wyróżnia i to wszystko Wprowadzono ulepszenia oparte na stosie TCP, que lo powoduje znaczną poprawę wydajności, szczególnie w scenariuszach obejmujących wiele równoległych połączeń TCP. Te ulepszenia doprowadziły do przyspieszenia, które może osiągnąć nawet 40%.
La Optymalizacja skupiała się na reorganizacji pól w strukturach stosu sieciowego, takich jak skarpetki, netdev, netns i mibs. Zmiany te, wprowadzone ze względów historycznych, pozwoliły na lepszą efektywność zarządzania pamięcią podręczną procesora. W szczególności zminimalizowano wykorzystanie linii pamięci podręcznej podczas przesyłania danych i zoptymalizowano dostęp do odpowiednich zmiennych.
Obecnie struktury z wieloma zmiennymi w stosie sieciowym są zorganizowane chronologicznie, logicznie, a czasami według dostępu do linii pamięci podręcznej.
Ta seria poprawek ma na celu reorganizację podstawowego stosu sieciowego w celu zminimalizowania zużycia linii pamięci podręcznej podczas fazy przesyłania danych. W szczególności przyglądamy się stosowi TCP/IP i szybkości w protokole TCP.
W wyniku tych recenzji m.in. Zaobserwowano znaczny wzrost prędkości TCP, szczególnie jeśli chodzi o obsługę dużej liczby jednoczesnych połączeń TCP. To ulepszenie jest szczególnie zauważalne w środowiskach, w których operacje sieciowe są intensywne, a efektywne zarządzanie połączeniami TCP ma kluczowe znaczenie.
z Inne zmiany i ulepszeniaue wyróżniają się:
- Dodano introspekcję opartą na łączu sieciowym, aby wyświetlić statystyki wykorzystania i recyklingu pamięci.
- Refaktoryzacja obsługi protokołu SYN-Cookie TCP w celu zapewnienia przyszłej kompatybilności z eBPF.
- Zmniejszony narzut związany z analizą nagłówka rozszerzenia w GRO.
- Reorganizuje elementy struktury nftables, aby na początku zachować dostęp do danych za pomocą ścieżki danych.
- Wprowadzono obsługę zbiorczego usuwania wpisów mostu MDB i monitorowania portów blokujących TC.
- Ulepszenia weryfikatora, w tym logika limitów rejestrowania BPF, ulepszenia rejestrowania i obsługa globalnych argumentów apletu użytkownika BPF.
- Wstępna implementacja metadanych TX dla AF_XDP z obsługą sterowników mlx5 i stmmac.
- Naprawiono błędy kCFI we wszystkich formach połączeń pośrednich BPF.
- Obsługa opcji uid/gid przy montażu bpffs i dodatkowych rozszerzeń do weryfikatora.
- Automatyczne generowanie dokumentacji rodziny Netlink na podstawie specyfikacji YAML i dodatkowe poprawki w opisach modułów.
- Zapobieganie nieprawidłowemu zwolnieniu stron należących do puli stron.
- Abstrakcje w Rust dla sterowników sieciowych PHY oraz wprowadzenie obsługi kolejkowania i NAPI w interfejsie netdev Netlink.
- Filtrowanie powiadomień dla devlink i ulepszenia w sprawdzaniu poprawności PHY.
- Ujawnienie wartości przesunięcia częstotliwości ułamkowej i konwersja starych procedur obsługi na wywołania zwrotne usuwania platformy, które zwracają wartość void.
- Dodano obsługę odczytu/zapisu pakietów PHY MMD.
- Dodano obsługę różnych urządzeń Ethernet, w tym urządzeń Octeon CN10K, Broadcom 5760X P7, Qualcomm SM8550 SoC i Texas Instrument DP83TG720S PHY.
- Wprowadzenie radia IMC Networks Bluetooth.
- Uaktualnienia szybkich kart sieciowych, wbudowanych kart sieciowych, przełączników do centrów danych, przełączników wbudowanych i warstw Ethernet PHY.
- Ulepszenia i dodatki w obsłudze dla różnych kontrolerów Wi-Fi i Bluetooth.
- Usunięcie różnych sterowników Wi-Fi, w tym sterowników Libertas, Atmel at76c50x, HostAP, zd1201, Orinoco, Aviator/Raytheon, Planet WL3501 i USB 802.11b RNDIS.
w końcu jeśli jesteś chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w poniższym linku.