I Linux 6.8 er patches, der accelererer TCP, allerede blevet implementeret

Tux, Linux-kernens maskot

Linux-kernen er rygraden i Linux-operativsystemer (OS), og er den grundlæggende grænseflade mellem en computers hardware og dens processer.

Kernel-versionen af Linux 6.7 blev udgivet for blot et par uger siden (i begyndelsen af ​​januar) og siden da Arbejdet med udviklingen af ​​Linux 6.8 blev lanceret og i øjeblikket er han allerede i sin anden CR og indtil videre er der sket en række forbedringer på forskellige områder, med fokus på netværk, kerneprotokoller, BPF, driver API'er, understøttelse af ny hardware og driveropdateringer.

Y blandt de vigtigste ændringer der er blevet gjort kendt, en af ​​dem skiller sig ud, og det er det Forbedringerne drevet af TCP-stakken er blevet implementeret, som resulterer i væsentlige forbedringer i ydeevnen, især i scenarier, der involverer flere parallelle TCP-forbindelser. Disse forbedringer har ført til en acceleration, der kan nå op til 40 %.

La Optimering fokuserede på at omorganisere felterne inden for netværksstackstrukturer såsom sokker, netdev, netns og mibs. Disse justeringer, som blev implementeret af historiske årsager, har givet mulighed for bedre effektivitet i håndteringen af ​​processorens cache. Især brugen af ​​cache-linjer under dataoverførsel blev minimeret, og adgangen til relevante variabler blev optimeret.

I øjeblikket er strukturer med mange variabler i netværksstakken organiseret kronologisk, logisk og nogle gange efter cache-linjeadgang.

Denne serie af patches forsøger at omorganisere kernenetværksstakken for at minimere cache-linjeforbruget under dataoverførselsfasen. Konkret ser vi på TCP/IP-stakken og hastigheden i TCP.

Som et resultat af disse anmeldelser, En signifikant stigning i TCP-hastigheden er blevet observeret, især når det kommer til at håndtere et stort antal samtidige TCP-forbindelser. Denne forbedring er især bemærkelsesværdig i miljøer, hvor netværksdriften er intensiv, og effektiv styring af TCP-forbindelser er afgørende.

Af Andre ændringer og forbedringersom skiller sig ud:

  • Tilføjet netlink-baseret introspektion for at afsløre hukommelsesforbrug og genbrugsstatistikker.
  • Refaktorerer SYN-Cookie TCP-hÃ¥ndtering for fremtidig eBPF-kompatibilitet.
  • Reduceret udvidelsesheader-parsing overhead i GRO.
  • Omorganiserer medlemmerne af nftables-strukturen for at holde dataene tilgÃ¥et af datasti i begyndelsen.
  • Indført understøttelse af massesletning af MDB-broposter og overvÃ¥gning af TC-blokerende porte.
  • Verifikatorforbedringer, herunder BPF-logning begrænser logik, logforbedringer og understøttelse af globale BPF-bruger-appletargumenter.
  • Indledende implementering af TX-metadata til AF_XDP med understøttelse i mlx5 og stmmac-drivere.
  • Rettede kCFI-fejl i alle former for indirekte BPF-kald.
  • Understøttelse af uid/gid-indstillinger ved montering af bpffs og yderligere udvidelser til verifikatoren.
  • Automatisk generering af Netlink-familiedokumentation fra YAML-specifikationer og yderligere rettelser til modulbeskrivelser.
  • Forebyggelse af forkert udgivelse af sider, der tilhører en sidepulje.
  • Abstraktioner i Rust til netværks-PHY-drivere og introduktion af kø- og NAPI-understøttelse i netdev Netlink-grænsefladen.
  • Notifikationsfiltrering for devlink og forbedringer i PHY-validering.
  • Eksponering af den fraktionelle frekvensforskydningsværdi og konvertering af gamle handlere til tilbagekald fra platformsfjernelse, der returnerer ugyldige.
  • Tilføjet support til læsning/skrivning af PHY MMD-pakker.
  • Tilføjet understøttelse af forskellige Ethernet-enheder, herunder Octeon CN10K-enheder, Broadcom 5760X P7, Qualcomm SM8550 SoC og Texas Instrument DP83TG720S PHY.
  • Introduktion af IMC Networks Bluetooth-radio.
  • Opgraderinger til højhastigheds-NIC'er, indlejrede NIC'er, datacenter-switches, indlejrede switches og Ethernet-PHY'er.
  • Understøtter forbedringer og tilføjelser til forskellige WiFi- og Bluetooth-controllere.
  • Fjernelse af forskellige WiFi-drivere inklusive libertas, Atmel at76c50x, HostAP, zd1201, Orinoco, Aviator/Raytheon, Planet WL3501 og USB 802.11b RNDIS-drivere.

endelig hvis du er det interesseret i at vide mere om det, kan du kontrollere detaljer i følgende link.