Il kernel Linux 7.3‑rc1 sfiora le 41 milioni di righe: il driver grafico AMD supera quota 6,5 milioni

Il kernel Linux 7.3‑rc1 sfiora le 41 milioni di righe: il driver grafico AMD supera quota 6,5 milioni

Linus Torvalds, creatore del kernel Linux e suo principale manutentore, ha pubblicato la prima versione candidata (la cosiddetta RC1, Release Candidate 1, ovvero primo candidato alla versione finale) della versione 7.3 del kernel Linux. Nel messaggio di annuncio Torvalds ha osservato che le modifiche al driver grafico del kernel per le GPU (le Graphics Processing Unit, cioè le unità di elaborazione grafica) di AMD hanno rappresentato circa un terzo dell’intero diff della RC1, cioè l’output del comando diff che mostra tutte le modifiche rispetto alla versione precedente.

Questa quota così rilevante è dovuta ai grandi file di definizione dei registri dell’hardware AMD relativi alla nuova architettura DCN 6.0 (Display Core Next, il sottosistema di visualizzazione delle GPU AMD) e all’integrazione di nuove IP hardware, termine con cui nel settore dei semiconduttori si indicano blocchi funzionali del chip già progettati e riutilizzabili, ciascuno dotato di logica, registri e interfacce proprie. L’aggiunta di nuovi blocchi IP richiede codice dedicato nel driver, contribuendo in modo significativo all’aumento delle dimensioni del diff complessivo.

Ora è interessante esaminare le statistiche del codice nel loro complesso e vedere a quale numero di righe di codice è arrivato il kernel Linux.

Le dimensioni complessive del kernel Linux

La versione del kernel Linux 7.3-rc1 totalizza 40,98 milioni di righe. Questo valore è la somma di 3 categorie distinte rilevate dallo strumento cloc (Count Lines of Code, un programma che conta le righe di codice distinte per linguaggio di programmazione), e precisamente: 5.134.418 righe vuote, circa 4.912.366 righe di commenti al codice e 30.937.090 righe di codice effettivo. Per confronto, lo stato della versione del kernel Linux 7.2 si attestava a 40,42 milioni di righe.

Si tratta di una crescita di circa 560.000 righe rispetto alla versione precedente, un incremento che rientra nell’andamento costante del progetto. E considerando il ritmo attuale di sviluppo, è ragionevole affermare che per la versione del kernel Linux 7.4 si supererà con facilità la soglia di 41 milioni di righe.

Il peso del driver grafico AMD

Soffermiamoci ora sul singolo contributo più consistente. Per la cartella drivers/gpu/drm/amd, che include i file di intestazione, il driver grafico del kernel Linux AMDGPU, il driver di calcolo AMDKFD (l’AMD Kernel Fusion Driver, componente che gestisce il calcolo accelerato su GPU AMD) e il codice correlato alla visualizzazione e ad altri componenti, il totale ammonta a 6,52 milioni di righe.

Questo conteggio esclude il driver classico Radeon DRM (il Direct Rendering Manager, il sottosistema del kernel Linux per l’accesso diretto alla grafica) destinato all’hardware AMD precedente all’architettura GCN (la Graphics Core Next, l’architettura alla base delle GPU moderne di AMD), che si trova in una cartella separata all’interno dell’albero dei sorgenti.

In concreto, circa il 16% dell’intero kernel Linux risulta ormai composto dal codice del driver grafico moderno di AMD. Nello stato della versione del kernel Linux 7.2, la stessa cartella drivers/gpu/drm/amd misurata con cloc si attestava a 6,35 milioni di righe con un aumento di 170 mila righe (+ 2,7%) in una sola versione. Questi valori dimostrano quanto pesi, in termini di volume di codice, ogni nuova generazione di hardware grafico di AMD.

Le parole di Torvalds sul dump dei registri

Linus Torvalds ha scritto nell’annuncio della versione del kernel Linux 7.3-rc1:

In sostanza, i file di intestazione dei registri da soli rappresentano quasi un terzo dell’intera patch della RC1. Si tratta di un aspetto ricorrente: con ogni nuova generazione di hardware AMD, il kernel Linux deve incorporare l’elenco completo dei registri di controllo della GPU sotto forma di definizioni nel linguaggio C, e questo produce volumi di codice molto estesi ma per lo più ripetitivi.

Una versione standard, a parte AMD

Linus Torvalds ha aggiunto che, se si esclude questo contributo di AMD, il resto della finestra di unione (il periodo di 2 settimane in cui vengono integrate nel ramo principale le nuove funzionalità, chiamato merge window) appare in larga parte ordinario per dimensioni. Il processo di unione, pur con un numero elevato di commit (singole modifiche registrate nella cronologia del codice), non si è discostato in modo significativo dalle versioni precedenti del kernel Linux.

La versione del kernel Linux 7.3-rc1 si colloca tra le prime versioni candidate più grandi per numero di commit, ma nessuna singola modifica risalta in modo netto dal punto di vista del contenuto funzionale. In altre parole, la versione è grande soprattutto per l’aggiunta dei file di definizione dei registri di AMD, mentre l’evoluzione concreta del kernel Linux segue il suo corso abituale.

Una crescita inarrestabile

I numeri descrivono un progetto di dimensioni colossali e in continua espansione. Già nel gennaio 2025, con la versione del kernel Linux 6.14-rc1, il kernel Linux aveva superato la soglia dei 40 milioni di righe, raddoppiando le proprie dimensioni rispetto al 2015, quando la versione 4.1 conteneva circa 19 milioni di righe. Da allora, ogni ciclo di sviluppo continua ad aggiungere nuove funzionalità, nuovi driver e nuovo supporto hardware.

La progressione dalla versione 7.2 a quella 7.3-rc1, con un incremento di circa 560.000 righe, rientra in questo trend costante. E se per la versione 7.3 il driver grafico AMD ha trainato la crescita con i suoi file di definizione dei registri DCN6, per la versione 7.4 è ormai prevedibile un superamento netto dei 41 milioni di righe, con il driver AMDGPU destinato a consolidare ulteriormente il proprio primato come componente più esteso dell’intero kernel Linux.

Fonte: https://www.phoronix.com/news/Linux-7.3-rc1-Code-Stats

Visited 39 times, 39 visit(s) today
Se vuoi sostenermi, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che ho nel mio sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul mio negozio online, quelle mancanti possono essere comunque richieste.

Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.