In Linux 6.8 sono giĆ  state implementate patch che accelerano TCP

Tux, la mascotte del kernel Linux

Il kernel Linux ĆØ la spina dorsale dei sistemi operativi (OS) Linux ed ĆØ l'interfaccia fondamentale tra l'hardware di un computer ei suoi processi.

La versione kernel di Linux 6.7 è stato rilasciato solo poche settimane fa (all'inizio di gennaio) e da allora il È stato avviato il lavoro sullo sviluppo di Linux 6.8 e attualmente è già al suo secondo CR e finora ha visto una serie di miglioramenti in diverse aree, con particolare attenzione alla rete, ai protocolli principali, al BPF, alle API dei driver, al supporto per il nuovo hardware e agli aggiornamenti dei driver.

Y tra le novitĆ  più importanti che sono stati resi noti, uno di questi si distingue e basta I miglioramenti guidati dallo stack TCP sono stati implementati, come si traduce in miglioramenti sostanziali in termini di prestazioni, soprattutto in scenari che coinvolgono più connessioni TCP parallele. Questi miglioramenti hanno portato ad un’accelerazione che può arrivare fino al 40%.

La L'ottimizzazione si ĆØ concentrata sulla riorganizzazione dei campi all'interno di strutture di stack di rete come calzini, netdev, netns e mibs. Questi aggiustamenti, implementati per ragioni storiche, hanno consentito una migliore efficienza nella gestione della cache del processore. In particolare ĆØ stato ridotto al minimo l'utilizzo delle linee cache durante il trasferimento dei dati ed ĆØ stato ottimizzato l'accesso alle variabili rilevanti.

Attualmente, le strutture con molte variabili nello stack di rete sono organizzate in modo cronologico, logico e talvolta in base all'accesso alla linea di cache.

Questa serie di patch tenta di riorganizzare lo stack di rete principale per ridurre al minimo il consumo di linee di cache durante la fase di trasferimento dei dati. Nello specifico, esamineremo lo stack TCP/IP e la velocitĆ  in TCP.

Come risultato di queste revisioni, È stato osservato un aumento significativo della velocità TCP, soprattutto quando si tratta di gestire un gran numero di connessioni TCP simultanee. Questo miglioramento è particolarmente evidente negli ambienti in cui le operazioni di rete sono intense e la gestione efficiente delle connessioni TCP è fondamentale.

Del Altre modifiche e miglioramentiche spiccano:

  • Aggiunta l'introspezione basata su netlink per esporre l'utilizzo della memoria e le statistiche di riciclaggio.
  • Refactoring della gestione TCP di SYN-Cookie per la futura compatibilitĆ  con eBPF.
  • Ridotto il sovraccarico dell'analisi dell'intestazione dell'estensione in GRO.
  • Riorganizza i membri della struttura nftables per mantenere i dati a cui ha avuto accesso datapath all'inizio.
  • Introdotto il supporto per l'eliminazione in blocco delle voci del bridge MDB e il monitoraggio delle porte di blocco TC.
  • Miglioramenti al verificatore, tra cui la logica dei limiti di registrazione BPF, miglioramenti alla registrazione e supporto per gli argomenti dell'applet utente BPF globale.
  • Implementazione iniziale dei metadati TX per AF_XDP con supporto nei driver mlx5 e stmmac.
  • Risolti i bug kCFI in tutte le forme di chiamate indirette BPF.
  • Supporto per opzioni uid/gid durante il montaggio di bpffs ed estensioni aggiuntive al verificatore.
  • Generazione automatica della documentazione della famiglia Netlink dalle specifiche YAML e correzioni aggiuntive alle descrizioni dei moduli.
  • Prevenzione del rilascio errato di pagine appartenenti a un pool di pagine.
  • Astrazioni in Rust per i driver PHY di rete e introduzione del supporto per le code e NAPI nell'interfaccia netdev Netlink.
  • Filtraggio delle notifiche per devlink e miglioramenti nella convalida PHY.
  • Esponendo il valore di offset della frequenza frazionario e convertendo i vecchi gestori in callback di rimozione della piattaforma che restituiscono void.
  • Aggiunto supporto per leggere/scrivere pacchetti MMD PHY.
  • Aggiunto supporto per vari dispositivi Ethernet, inclusi dispositivi Octeon CN10K, Broadcom 5760X P7, SoC Qualcomm SM8550 e Texas Instrument DP83TG720S PHY.
  • Introduzione della radio Bluetooth di IMC Networks.
  • Aggiornamenti per NIC ad alta velocitĆ , NIC incorporati, switch per data center, switch incorporati e PHY Ethernet.
  • Supporta miglioramenti e aggiunte per vari controller WiFi e Bluetooth.
  • Rimozione di vari driver WiFi tra cui libertas, Atmel at76c50x, HostAP, zd1201, Orinoco, Aviator/Raytheon, Planet WL3501 e driver USB 802.11b RNDIS.

finalmente se lo sei interessati a saperne di più, puoi controllare il dettagli nel seguente collegamento.