Linux-kärnan är ryggraden i Linux-operativsystem (OS), och är det grundläggande gränssnittet mellan en dators hårdvara och dess processer.
Kernel-versionen av Linux 6.7 släpptes för bara några veckor sedan (i början av januari) och sedan dess Arbetet med utvecklingen av Linux 6.8 inleddes och för närvarande är han redan i sin andra CR och hittills har den sett en mängd förbättringar inom olika områden, med fokus på nätverk, kärnprotokoll, BPF, drivrutins-API:er, stöd för ny hårdvara och drivrutinsuppdateringar.
Y bland de viktigaste förändringarna som har gjorts kända, en av dem sticker ut och det är det Förbättringarna som drivs av TCP-stacken har implementerats, som resulterar i avsevärda förbättringar i prestanda, speciellt i scenarier som involverar flera parallella TCP-anslutningar. Dessa förbättringar har lett till en acceleration som kan nå upp till 40 %.
La Optimering fokuserade på att omorganisera fälten inom nätverksstackstrukturer som socks, netdev, netns och mibs. Dessa justeringar, som implementerades av historiska skäl, har möjliggjort bättre effektivitet i hanteringen av processorns cache. I synnerhet minimerades användningen av cache-linjer under dataöverföring och tillgången till relevanta variabler optimerades.
För närvarande är strukturer med många variabler i nätverksstacken organiserade kronologiskt, logiskt och ibland genom cache-linjeåtkomst.
Denna serie av patchar försöker omorganisera kärnnätverksstacken för att minimera cache-linjeförbrukningen under dataöverföringsfasen. Specifikt tittar vi på TCP/IP-stacken och hastigheten i TCP.
Som ett resultat av dessa recensioner, En betydande ökning av TCP-hastigheten har observerats, speciellt när det gäller att hantera ett stort antal samtidiga TCP-anslutningar. Denna förbättring är särskilt anmärkningsvärd i miljöer där nätverksdriften är intensiv och effektiv hantering av TCP-anslutningar är avgörande.
Av Andra förändringar och förbättringareu sticker ut:
- Lade till nätlänksbaserad introspektion för att exponera minnesanvändning och återvinningsstatistik.
- Refaktorerande SYN-Cookie TCP-hantering för framtida eBPF-kompatibilitet.
- Minskad förlängningshuvud-parsing overhead i GRO.
- Omorganiserar medlemmarna i nftables-strukturen för att behålla data som nås av datapath i början.
- Infört stöd för massradering av MDB-bryggposter och övervakning av TC-blockerande portar.
- Verifieringsförbättringar, inklusive BPF-loggning begränsar logik, loggningsförbättringar och stöd för globala BPF-användarappletargument.
- Initial implementering av TX-metadata för AF_XDP med stöd i mlx5 och stmmac-drivrutiner.
- Fixade kCFI-buggar i alla former av BPF indirekta anrop.
- Stöd för uid/gid-alternativ vid montering av bpffs och ytterligare tillägg till verifieraren.
- Automatisk generering av Netlink-familjens dokumentation från YAML-specifikationer och ytterligare korrigeringar till modulbeskrivningar.
- Förebyggande av felaktig utgivning av sidor som tillhör en sidpool.
- Abstraktioner i Rust för nätverks-PHY-drivrutiner och introduktion av kö- och NAPI-stöd i netdev Netlink-gränssnittet.
- Aviseringsfiltrering för devlink och förbättringar av PHY-validering.
- Exponera det fraktionella frekvensförskjutningsvärdet och konvertera gamla hanterare till återuppringningar av plattformsborttagning som returnerar ogiltiga.
- Tillagt stöd för att läsa/skriva PHY MMD-paket.
- Lade till stöd för olika Ethernet-enheter, inklusive Octeon CN10K-enheter, Broadcom 5760X P7, Qualcomm SM8550 SoC och Texas Instrument DP83TG720S PHY.
- Introduktion av IMC Networks Bluetooth-radio.
- Uppgraderingar för höghastighets-NIC, inbyggda NIC, datacenterswitchar, inbyggda switchar och Ethernet PHYs.
- Stöd förbättringar och tillägg för olika WiFi- och Bluetooth-kontroller.
- Borttagning av olika WiFi-drivrutiner inklusive libertas, Atmel at76c50x, HostAP, zd1201, Orinoco, Aviator/Raytheon, Planet WL3501 och USB 802.11b RNDIS-drivrutiner.
äntligen om du är det intresserad av att veta mer om det, kan du kontrollera detaljer i följande länk.