Linux: una patch del kernel di 20 anni fa rallenta i processori AMD

Prestazioni dei processori AMD ridotte da una patch Linux aggiunta nel 2002 e relativa all'implementazione della specifica ACPI.
Linux: una patch del kernel di 20 anni fa rallenta i processori AMD

Gli sviluppatori di Intel sono stati di recente protagonisti di diversi contributi volti all’ottimizzazione del funzionamento del kernel Linux, in particolare con i processori dell’azienda di Santa Clara.
Ricordiamo ad esempio la patch presentata da Ricardo Neri (Intel) grazie alla quale le prestazioni dei processori Intel Alder Lake sono state migliorate su Linux in maniera significativa, tanto – secondo gli ultimi test – da superare anche Windows 11.

Sul versante AMD lascia invece di stucco un aspetto di grande rilevanza che riguarda l’utilizzo dei suoi processori su Linux e che non è stato notato per tanti anni.

K Prateek Nayak, ingegnere AMD, ha scoperto che una correzione applicata circa 20 anni fa sul kernel Linux è responsabile di un importante decadimento delle performance con l’utilizzo dei moderni processori basati su architettura Zen quindi Ryzen, Threadripper ed EPYC.

Nel 2002 fu aggiunto al kernel Linux il supporto per la specifica ACPI (Advanced Configuration and Power Interface), uno standard industriale aperto che stabilì interfacce comuni per il riconoscimento dell’hardware, la configurazione e la gestione energetica di scheda madre e periferiche.
Con alcuni processori AMD usati all’epoca, in particolare CPU Athlon su chipset VIA, l’implementazione di ACPI in Linux causava diversi problemi così si decise di intervenire a livello kernel. Nello specifico fu introdotto un ritardo (“dummy wait op“) nel momento in cui il chipset non gestiva in tempo un’altra istruzione ovvero quella di arresto della CPU.

L’ingegnere AMD ha rilevato che le moderne CPU della società di Sunnyvale vengono notevolmente penalizzate in termini di performance visto che l’operazione di lettura dei dati fittizia “dummy wait op” provoca l’utilizzo di un particolare (C-State) del processore che, secondo le specifiche ACPI, implica un dispendio di tempo per tornare allo stato attivo. Così, specie con determinati carichi di lavoro, è facile osservare un significativo degrado prestazionale.

K Prateek Nayak ha proposto una patch a risoluzione del problema ventennale e l’ingegnere di Intel Dave Hansen ha a sua volta contribuito.
Quest’ultima è stata accettata e verrà inserita nel kernel Linux 6.0 il cui rilascio è previsto per la prossima settimana.

Ti consigliamo anche

Link copiato negli appunti