Un miglioramento chiave delle prestazioni per l'architettura RISC-V è stato integrato nel kernel Linux 7.4, affrontando limitazioni presenti nelle versioni precedenti. Sebbene un'ottimizzazione precedente introdotta in Linux 7.3 consentisse ai kernel di saltare l'allineamento software per l'hardware che supporta copie veloci di memoria non allineata, richiedeva che tale supporto fosse compilato direttamente nel kernel. Questo requisito al momento della compilazione ostacolava la portabilità, rendendo difficile per le build generiche RISC-V utilizzare la funzionalità attraverso diverse configurazioni hardware in cui alcuni dispositivi potrebbero non supportare accessi non allineati efficienti.

Con l'arrivo di Linux 7.4, il meccanismo per saltare l'allineamento software è stato spostato sul rilevamento in tempo di esecuzione. Il kernel ora controlla dinamicamente la capacità "HAVE_EFFICIENT_UNALIGNED_ACCESS" quando gestisce le copie utente. Questa modifica consente ai kernel delle distribuzioni e ad altre build generiche di includere l'ottimizzazione universalmente, garantendo che i sistemi con hardware compatibile beneficino automaticamente di prestazioni migliorate senza richiedere flag di compilazione specifici.

I test condotti da Tenstorrent, che ha originariamente contribuito all'ottimizzazione per Linux 7.3, hanno indicato miglioramenti della larghezza di banda fino all'11% quando questa funzionalità è attiva. Oltre a questo miglioramento delle copie utente, la richiesta di pull RISC-V per Linux 7.4 include diverse altre aggiornamenti. Queste aggiunte comprendono il supporto per il crash hot-plug, percorsi di codice ottimizzati per determinate funzioni della tabella delle pagine e miglioramenti nel cambio di contesto. Inoltre, l'aggiornamento integra l'estensione ISA "B" di RISC-V nella segnalazione hwcap e hwprobe, insieme al supporto per la segnalazione dell'estensione ISA RISC-V Zic64b.

Fonti: Phoronix.