AMD Preferred Core, la funzionalità che consente di selezionare i “core preferiti” da far prioritizzare al kernel, scegliendo tra i nuclei in grado di raggiungere frequenze più elevate rispetto ad altri, beneficerà di ulteriori miglioramenti su Linux 6.14, per cui è già presente un importante coda che include un set di patch dedicate. La funzionalità era stata reintrodotta sulla versione 6.9 del kernel, nel driver amd_pstate, e consente di ottimizzare le prestazioni in base alle necessità di lavoro.
Linux 6.14: pronto un set di patch per migliorare AMD Preferred Core
I miglioramenti per AMD Preferred Core su Linux 6.14 includono il supporto per le classifiche dinamiche dei core preferiti. I Ryzen e i Threadripper, infatti, fanno tutt’ora uso sul kernel del pinguino del codice ITMT (Intel Turbo Boost Max Tech), dove le classifiche dei nuclei sono trattate come statistiche. Al contrario, Preferred Core utilizza delle classifiche dinamiche, dove i nuclei preferiti possono cambiare in fase di esecuzione. Al tal proposito, per sfruttarne a pieno i vantaggi, l’azienda di Sunnyvale ha lavorato su un set di patch per abilitarne il supporto all’interno del kernel.
La descrizione spiega infatti nel dettaglio che:
“L’infrastruttura ITMT attualmente presuppone che le classifiche ITMT siano statiche e siano impostate correttamente prima di abilitare il supporto ITMT, il che consente alla CPU con la classifica core più alta di essere memorizzata nella cache come “asym_prefer_cpu” nella struttura sched_group. Tuttavia, con l’introduzione del supporto Preferred Core in amd-pstate, queste classifiche possono cambiare in fase di esecuzione.
…Sui processori AMD che supportano la classificazione dinamica dei core preferiti, l’asym_prefer_cpu memorizzata nella cache in sched_group può cambiare dinamicamente. Poiché asym_prefer_cpu viene memorizzata nella cache quando viene creata la gerarchia del dominio sched, l’aggiornamento del valore memorizzato nella cache nel sistema richiederebbe la ricostruzione del dominio sched, il che è proibitivamente costoso.
Tutti i confronti asym_prefer_cpu nel percorso di bilanciamento del carico vengono eseguiti solo dopo che le statistiche del gruppo sched sono state aggiornate dopo l’iterazione di tutte le CPU nel gruppo. Rimuovi dalla cache asym_prefer_cpu e calcolala mentre le statistiche del gruppo sched vengono aggiornate come parte di sg_lb_stats.
Correzioni: f3a052391822 (“cpufreq: amd-pstate: Abilita il supporto core preferito amd-pstate”)”
Le patch di AMD sono state messe in coda nel ramo “sched/core” prima dell’inizio del periodo della finestra di unione per Linux 6.14, previsto proprio per la prossima settimana dopo il rilascio del kernel 6.13.