Il kernel Linux 6.10, che si appresta a uscire nei prossimi mesi, sta correntemente introducendo diversi cambiamenti che ne interessano lo sviluppo, tra cui l’adozione di nuove funzionalità, come Extensible Scheduler, il supporto a nuovo hardware, una nuova gestione del kernel panic e molto altro. L’ultima modifica riguarda la risoluzione di un problema che interessava i sistemi equipaggiati con CPU AMD Ryzen e SSD NVMe.
Kernel Linux 6.10: risolto un problema standby con le CPU AMD Ryzen
Il kernel Linux 6.10 modifica la gestione energetica per quanto riguarda i processori AMD Ryzen, in modo da garantire che le unità di archiviazione NVMe funzionino correttamente dopo che il sistema si è riattivato dalla modalità standby.
Nello specifico, la patch fa in modo che i dispositivi con CPU AMD attivino correttamente la modalità D3 per l’archiviazione quando il sistema va in sospensione, al fine di garantire il normale ripristino in fase di riattivazione. In questo modo si risolve definitivamente un problema che affliggeva AMD negli ultimi due anni, dove la gestione dell’energia non funzionava a dovere, causando il malfunzionamento delle unità NVMe alla riattivazione.
I moderni sistemi equipaggiati con hardware di casa AMD richiedono infatti che il controller deputato alla gestione NVMe passi alla modalità D3, attraverso un moderno ciclo di standby/sospensione-inattività. Ciò non è tuttavia gestito alla perfezione da alcuni firmware e BIOS, così come il codice ACPI di Linux, causando un funzionamento non corretto. La problematica riguardava nello specifico le architetture Picasso, Renoir, Lucienne e Cezanne.
Piuttosto che attenuare il problema, il kernel Linux 6.10 forza la modalità D3 per i dischi NVMe accompagnati da CPU AMD, quando viene rilevato il supporto idle a basso consumo.
La modifica è stata integrata nel kernel Linux 6.10 nella giornata di venerdì scorso, interessando la sezione ACPI del codice sorgente. L’aggiornamento interessa nello specifico la Release Candidate 4 del kernel, già pubblicata. Questo fix è tuttavia stato contrassegnato anche per il backporting, motivo per cui sarà implementato anche nella versione stabile corrente.