V Linuxu 6.8 so bili že implementirani popravki, ki pospešujejo TCP

Tux, maskota jedra Linuxa

Jedro Linuxa je hrbtenica operacijskih sistemov (OS) Linux in je temeljni vmesnik med strojno opremo računalnika in njegovimi procesi.

Različica jedra za Linux 6.7 je bil izdan le nekaj tednov nazaj (v začetku januarja) in od takrat Začelo se je delo na razvoju Linuxa 6.8 in trenutno je že v drugem CR in do sedaj je bil deležen številnih izboljšav na različnih področjih, s poudarkom na omrežju, jedrnih protokolih, BPF, API-jih gonilnikov, podpori za novo strojno opremo in posodobitvah gonilnikov.

Y med najpomembnejšimi spremembami ki so bili razglašeni, eden izmed njih izstopa in to je to Izboljšave, ki jih poganja sklad TCP, so bile implementirane, kot ima za posledico znatne izboljšave v delovanju, zlasti v scenarijih, ki vključujejo več vzporednih povezav TCP. Te izboljšave so vodile do pospeška, ki lahko doseže do 40 %.

La Optimizacija se je osredotočila na reorganizacijo polj znotraj struktur omrežnih skladov, kot so socks, netdev, netns in mibs. Te prilagoditve, ki so bile izvedene zaradi zgodovinskih razlogov, so omogočile večjo učinkovitost pri upravljanju predpomnilnika procesorja. Zlasti je bila zmanjšana uporaba vrstic predpomnilnika med prenosom podatkov in optimiziran je bil dostop do ustreznih spremenljivk.

Trenutno so strukture s številnimi spremenljivkami v omrežnem skladu organizirane kronološko, logično in včasih z dostopom do predpomnilniške vrstice.

Ta serija popravkov poskuša reorganizirati osrednji omrežni sklad, da bi zmanjšali porabo vrstice predpomnilnika med fazo prenosa podatkov. Natančneje, pogledamo sklad TCP/IP in hitrost v TCP.

Kot rezultat teh pregledov, Opaženo je bilo znatno povečanje hitrosti TCP, zlasti ko gre za upravljanje velikega števila sočasnih povezav TCP. Ta izboljšava je še posebej opazna v okoljih, kjer so omrežne operacije intenzivne in je učinkovito upravljanje povezav TCP ključnega pomena.

Od Druge spremembe in izboljšaveeu izstopajo:

  • Dodana introspekcija na podlagi omrežne povezave za razkrivanje statistike uporabe pomnilnika in recikliranja.
  • Preoblikovanje obdelave TCP SYN-Cookie za prihodnjo združljivost eBPF.
  • Zmanjšan strošek razčlenjevanja glave razširitve v GRO.
  • Reorganizira člane strukture nftables, da ohrani podatke, do katerih dostopa datapath na začetku.
  • Uvedena podpora za množično brisanje vnosov mostov MDB in spremljanje vrat, ki blokirajo TC.
  • Izboljšave preverjanja, vključno z logiko omejitev beleženja BPF, izboljšave beleženja in podporo za globalne argumente uporabniškega programčka BPF.
  • Začetna implementacija metapodatkov TX za AF_XDP s podporo v gonilnikih mlx5 in stmmac.
  • Popravljene napake kCFI v vseh oblikah posrednih klicev BPF.
  • Podpora za možnosti uid/gid pri nameščanju bpffs in dodatne razširitve za preverjanje.
  • Samodejno ustvarjanje dokumentacije družine Netlink iz specifikacij YAML in dodatnih popravkov opisov modulov.
  • Preprečevanje nepravilne sprostitve strani, ki pripadajo skupini strani.
  • Abstrakcije v Rustu za omrežne gonilnike PHY in uvedba čakalne vrste in podpore za NAPI v vmesniku netdev Netlink.
  • Filtriranje obvestil za devlink in izboljšave pri preverjanju PHY.
  • Izpostavitev vrednosti odstopanja delne frekvence in pretvorba starih upravljavcev v povratne klice za odstranitev platforme, ki vrnejo void.
  • Dodana podpora za branje/pisanje paketov PHY MMD.
  • Dodana podpora za različne naprave Ethernet, vključno z napravami Octeon CN10K, Broadcom 5760X P7, Qualcomm SM8550 SoC in Texas Instrument DP83TG720S PHY.
  • Predstavitev radia IMC Networks Bluetooth.
  • Nadgradnje za hitre omrežne kartice, vgrajene omrežne kartice, stikala za podatkovne centre, vgrajena stikala in Ethernet PHY.
  • Podpira izboljšave in dodatke za različne krmilnike WiFi in Bluetooth.
  • Odstranitev različnih gonilnikov WiFi, vključno z gonilniki libertas, Atmel at76c50x, HostAP, zd1201, Orinoco, Aviator/Raytheon, Planet WL3501 in USB 802.11b RNDIS.

končno če si zanima več o tem, lahko preverite podrobnosti na naslednji povezavi.