Quei 2200 commit che dovrebbero sistemare l’inferno delle dipendenze nel Kernel Linux

Ingo Molnar è un uomo in missione, un eroe del nostro tempo che si è dato un obiettivo ammirevole a cui tutti, con un poco di buon senso dovrebbero augurare il successo che merita.

Ma partiamo dall’inizio, ossia di chi stiamo parlando. Ingo Molnar è un senior developer del Kernel Linux che sta promuovendo un commit il cui obiettivo è chiaro sin dal titolo:

“Fast Kernel Headers” Tree -v1: Eliminate the Linux kernel’s “Dependency Hell”

Come racconta Molnar, la gestione ad oggi delle dipendenze del Kernel Linux è letteralmente un inferno ed il commit in questione vorrebbe risolverla una volta per tutte, accelerando i tempi di build e disaccoppiando le dichiarazioni, in modo da ottimizzarne anche la comprensione e l’utilizzo.

Vale la pena ricordare come il Kernel Linux sia un progetto software con una storia trentennale alle spalle e, operazioni come quella di Molnar sono letteralmente più facili a dirsi che a farsi.

Lo stesso autore era infatti partito con propositi ed obiettivi limitati:

When I started this project, late 2020, I expected there to be maybe 50-100 patches.

Quando ho avviato questo progetto, alla fine del 2020, mi aspettavo di creare forse 50-100 patch

Ma pur vedendo incrementare il numero di patch (500 commit alla metà del 2021) non ha inizialmente riscontrato un aumento sensibile delle performance. Lunga storia corta, sono state necessarie moltissime lavorazioni non previste per l’ottimizzazione del codice e facendo un balzo nel tempo a fine 2021 eccoci al prodotto finale: 2200 patch e tempi di build migliorati del 20 percento!

Un enorme lavoro, anche in termini di review richieste che ora viene sottoposto a Linus Torvalds ed Andrew Morton (oltre che a tutti gli sviluppatori) per capire se quindi l’approccio è percorribile.

Quindi sì, avete capito bene, non si tratta di una serie di patch che certamente verranno applicate al Kernel Linux, ma di una proposta.

Fosse anche solo per questo, Ingo Molnar ha tutta la nostra stima!

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

3 risposte a “Quei 2200 commit che dovrebbero sistemare l’inferno delle dipendenze nel Kernel Linux”

  1. Avatar xan
    xan

    Tutta la mia riconoscenza e stima. Il 20% di ottimizzare non penso sia ignorabile.

  2. Avatar Aury88
    Aury88

    ciao Raoul Scarazzini.

    Scusami, ma leggendo il commento che accompagna la patch mi sembra di capire che il 20% di miglioramento fosse una sorta di stima ed obbiettivo iniziale dell’autore ma che ,dopo gli ultimi 1500 commit, con la propria configurazione, sia riuscito a raggiungere miglioramenti del 78%.

    most of the speedups started arriving after over 1,500 commits, in the fall of 2021. I was very surprised when it went beyond 20% speedup and more, then arrived at the current 78% with my reference config.

  3. Avatar Raoul Scarazzini

    Vero, ma in assenza di ulteriori verifiche quel “with my reference config” diventa vincolante per assumere il 78% come dato oggettivo. Ad ogni modo se il risultato è così clamoroso c’è da scommettere come la (le) patch a breve verranno incluse.

Lascia un commento

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