În Linux 6.8, patch-urile care accelerează TCP au fost deja implementate

Tux, mascota Linux Kernel-ului

Nucleul Linux este coloana vertebrală a sistemelor de operare (OS) Linux și este interfața fundamentală între hardware-ul unui computer și procesele acestuia.

Versiunea Kernel a Linux 6.7 a fost lansat cu doar câteva săptămâni în urmă (la începutul lunii ianuarie) iar de atunci cel Au fost lansate lucrări la dezvoltarea Linux 6.8 iar în prezent este deja în al doilea CR și până acum a înregistrat o varietate de îmbunătățiri în diferite domenii, cu accent pe rețele, protocoale de bază, BPF, API-uri pentru drivere, suport pentru hardware nou și actualizări de drivere.

Y printre cele mai importante schimbări care au fost făcute cunoscute, una dintre ele iese în evidență și asta este Îmbunătățirile determinate de stiva TCP au fost implementate, ca duce la îmbunătățiri substanțiale ale performanței, mai ales în scenariile care implică mai multe conexiuni TCP paralele. Aceste îmbunătățiri au dus la o accelerare care poate ajunge până la 40%.

La Optimizarea axată pe reorganizarea câmpurilor în structurile stivei de rețea, cum ar fi socks, netdev, netns și mibs. Aceste ajustări, care au fost implementate din motive istorice, au permis o mai bună eficiență în gestionarea cache-ului procesorului. În special, utilizarea liniilor cache în timpul transferului de date a fost redusă la minimum și a fost optimizat accesul la variabilele relevante.

În prezent, structurile cu multe variabile în stiva de rețea sunt organizate cronologic, logic și uneori prin acces la linia cache.

Această serie de patch-uri încearcă să reorganizeze stiva de rețea de bază pentru a minimiza consumul de linie cache în timpul fazei de transfer de date. Mai exact, ne uităm la stiva TCP/IP și la viteza în TCP.

Ca urmare a acestor recenzii, S-a observat o creștere semnificativă a vitezei TCP, mai ales când vine vorba de gestionarea unui număr mare de conexiuni TCP simultane. Această îmbunătățire este notabilă în special în mediile în care operațiunile de rețea sunt intense și gestionarea eficientă a conexiunilor TCP este crucială.

Dintre Alte modificări și îmbunătățirieu ies în evidență:

  • S-a adăugat introspecție bazată pe netlink pentru a expune statisticile privind utilizarea memoriei și reciclarea.
  • Refactorizarea gestionării SYN-Cookie TCP pentru compatibilitatea viitoare cu eBPF.
  • A fost redusă analiza antetului de extensie în GRO.
  • Reorganizează membrii structurii nftables pentru a păstra datele accesate de datapath la început.
  • S-a introdus suport pentru ștergerea în bloc a intrărilor MDB bridge și monitorizarea porturilor de blocare TC.
  • Îmbunătățiri ale verificatorului, inclusiv logica limitelor de jurnalizare BPF, îmbunătățiri de înregistrare și suport pentru argumentele applet-ului utilizatorului BPF la nivel global.
  • Implementarea inițială a metadatelor TX pentru AF_XDP cu suport în driverele mlx5 și stmmac.
  • S-au remediat erorile kCFI în toate formele de apeluri indirecte BPF.
  • Suport pentru opțiunile uid/gid atunci când montați bpff-uri și extensii suplimentare la verificator.
  • Generarea automată a documentației familiei Netlink din specificațiile YAML și corecții suplimentare la descrierile modulelor.
  • Prevenirea lansării incorecte a paginilor aparținând unui grup de pagini.
  • Abstracții în Rust pentru driverele PHY de rețea și introducerea suportului de așteptare și NAPI în interfața netdev Netlink.
  • Filtrarea notificărilor pentru devlink și îmbunătățiri în validarea PHY.
  • Expunerea valorii fracționale de decalaj de frecvență și conversia gestionarilor vechi în apeluri de eliminare a platformei care returnează nulitate.
  • S-a adăugat suport pentru citirea/scrierea pachetelor PHY MMD.
  • S-a adăugat suport pentru diverse dispozitive Ethernet, inclusiv dispozitive Octeon CN10K, Broadcom 5760X P7, Qualcomm SM8550 SoC și Texas Instrument DP83TG720S PHY.
  • Introducerea radioului Bluetooth IMC Networks.
  • Actualizări pentru NIC-uri de mare viteză, NIC-uri încorporate, comutatoare pentru centre de date, comutatoare încorporate și PHY Ethernet.
  • Suportă îmbunătățiri și completări pentru diverse controlere WiFi și Bluetooth.
  • Eliminarea diferitelor drivere WiFi, inclusiv libertas, Atmel at76c50x, HostAP, zd1201, Orinoco, Aviator/Raytheon, Planet WL3501 și drivere USB 802.11b RNDIS.

in sfarsit daca esti interesat să afle mai multe despre asta, puteți verifica detalii în următorul link.