Linux: nuove patch velocizzano la crittografia su x86 e x86_64

Linux: nuove patch velocizzano la crittografia su x86 e x86_64

Una nuova patch Linux realizzata da un ingegnere Google velocizza ulteriormente la crittografia su hardware x86 e x86_64.
Linux: nuove patch velocizzano la crittografia su x86 e x86_64
Una nuova patch Linux realizzata da un ingegnere Google velocizza ulteriormente la crittografia su hardware x86 e x86_64.

Delle nuove patch pubblicate da poco per Linux, contribuiscono a migliorare ulteriormente la crittografia, rendendo la procedura molto più veloce su hardware x86 e x86_64. Già di recente, erano state rilasciate delle patch realizzate da un ingegnere Google, che hanno permesso di migliorarne la gestione con le istruzioni AVX-512 e altre moderne funzionalità del set ISA x86.

Linux: crittografia più veloce su x86 e x86_64

La nuova serie di patch Linux che riguardano le funzionalità ISA della CPU si concentrano molto sulla pulizia del codice, in modo che la FPU in modalità kernel x86 possa sempre funzionare in modo affidabile con gli IRQ leggeri, rimuovendo al tempo stesso il codice più vecchio relativo alla crittografia SIMD, non prestazionalmente efficace. La rimozione di quest’ultimo, garantisce incrementi prestazionali molti importanti, che può raggiungere fino al 23% in più su AES-XTS.

Di seguito il commento dell’ingegnere in merito alla nuova patch:

“Questo set di patch risolve un problema di vecchia data per cui la FPU in modalità kernel (ovvero SIMD) non era utilizzabile in modo affidabile nei softirq in x86, il che creava la necessità di un fallback. Il fallback era davvero negativo per le prestazioni e danneggiava persino le prestazioni degli utenti che non avevano mai riscontrato il caso limite in cui la FPU in modalità kernel non era utilizzabile.

 

Questo set di patch allinea x86 con altre architetture come arm, arm64 e riscv facendo funzionare la FPU in modalità kernel in modo affidabile nei softirq. Ci sono alcuni modi possibili per ottenere ciò e per ora ho scelto il modo più semplice; vedere la patch 1 per i dettagli.

 

La patch 2 elimina tutti gli utilizzi del “crypto SIMD helper” da x86, poiché la patch 1 lo rende non necessario. Per l’RFC è solo una grande patch; probabilmente dividerò la patch 2 se questo andrà oltre lo stato RFC.

 

I risultati delle prestazioni sono stati positivi. Tutta la crittografia/decrittografia è ora leggermente più veloce su x86, poiché non richiede più una deviazione attraverso crypto/simd.c. Ottengo un miglioramento del 7% o del 23% per AES-XTS, ad esempio.

 

Ho anche eseguito il benchmark di IPsec bidirezionale, che è stato affermato di colpire spesso il caso limite in cui la FPU in modalità kernel non era precedentemente utilizzabile nel contesto softirq. In definitiva, non sono stato effettivamente in grado di riprodurre quel caso limite raggiunto a meno che non riducessi il numero di CPU a 1, nel qual caso ha iniziato a essere raggiunto occasionalmente. Indipendentemente da ciò, anche senza che quel caso fosse raggiunto, la produttività IPsec è comunque migliorata del 2%. Nelle situazioni in cui quel caso è stato raggiunto, o in cui gli utenti richiedevano un algoritmo sincrono, si dovrebbe vedere un miglioramento molto più grande.”

Tutti i dettagli in merito alla nuova patch Linux relativa alla crittografia possono essere visionati qui.

Link copiato negli appunti

Ti potrebbe interessare

Pubblicato il
21 feb 2025
Link copiato negli appunti