I Linux 6.8 har patchar som accelererar TCP redan implementerats

Tux, maskot för Linux-kärnan

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.