Una patch qui, una patch là e le performance del Kernel Linux si impennano a dismisura!

Nell’ambito del Kernel Linux, da quando nel 2014 è partita l’epoca che potremmo definire post-Heartbleed, una delle questioni più annose che gli sviluppatori hanno dovuto affrontare è certamente quella relativa alle performance. Più precisamente ci riferiamo all’impatto sulle performance delle remediation per i vari Heartbleed, Meltdown, Spectre, a problematiche di sicurezza hardware che altrimenti metterebbero a disposizione di potenziali attaccanti una superficie decisamente ampia.

In questo senso non è raro sentir parlare di “patch miracolose” che, applicate alla stessa versione del Kernel ne incrementano le performance in maniera decisamente sensibile.

Un esempio? Questa patch di Vlastimil Babka, ingegnere software di SUSE, il quale con una singola riga di codice, stando ai report di Intel raccontati da Phoronix, aumenta del 3.888,9% le performance del Kernel.

Come dite? 3888,9% è un tantino esagerato? Forse sì, ma quelli riportati dall’articolo sono dati oggettivi, certificati sempre dallo stesso Babka all’interno di un altro messaggio alla lista del Kernel, anche se il disclaimer indicato invita ad essere cauti:

Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance.

I risultati sono stati stimati in base all’analisi interna di Intel e sono forniti solo a scopo informativo. Qualsiasi differenza nella progettazione o configurazione dell’hardware o del software di sistema può influire sulle prestazioni effettive.

Fossero anche solo la metà, un decimo o un centesimo, si tratta comunque di un dato rilevante.

Ed a proposito di un centesimo di 3.880 anche Linus Torvalds in persona non è da meno in questa gara di performance.

Come racconta The Register, il creatore di Linux ha creato una patch che ha un impatto del 2,6% sulle performance, anch’essa decisamente non impossibile da leggere (poco più di una decina di righe), ma il cui risultato, sempre stando all’analisi di Intel di cui sopra, risulta essere decisamente rilevante.

Per quanto sia importante notare come questa che potremmo definire “schizofrenia prestazionale” riguardi il ramo di sviluppo del Kernel, e quindi auspicabilmente non dovrebbe impattare le versioni stabili, il pensiero va comunque alla scelta di distribuzioni come Ubuntu, le quali hanno scelto di affidarsi all’ultimo Kernel disponibile, fosse anche una Release Candidate.

In buona sostanza l’antica e saggia regola dovrebbe sempre essere tenuta in considerazione: prima di aggiornare in produzione, vale sempre la pena di fare un “giro” in ambiente di sviluppo.

Per dev e prod sono sempre allineati in termini di hardware, corretto?

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.

6 risposte a “Una patch qui, una patch là e le performance del Kernel Linux si impennano a dismisura!”

  1. Avatar Pippo
    Pippo

    Ma se si usano cpu AMD le performance del kernerl dovrebbero essere molto più elevate rispetto a intel perché non devono essere applicate patch per sanare bug relativi a cpu intel… corretto?

  2. Avatar Autodelta85
    Autodelta85

    Ultimamente è una pioggia di patch, spesso positive o come nel caso di AMD vanno a "sfruttare meglio" caratteristiche peculiari come la cache 3D.
    Sicuramente bello, ancora più bello che ciò avvenga in maniera trasparente con mailing list da kernel.org o con un articolo su Phoronix.

    Quello che mi chiedo: in ambito Linux si sta lavorando tanto sopratutto sulle ultime architetture chiplet grazie al contributo di AMD e Intel, ma nel mondo closed cosa sta succedendo? Tutto tace….a me sembra quasi che oggi il kernel Linux sia molto più avanti di Microsoft nel gestire e supportare nuove architetture, cosa che in passato era l'esatto opposto

  3. Avatar JustATiredMan
    JustATiredMan

    praticamente, questo, con una and (&& IS_ALIGNED(len, PMD_SIZE)) ha fatto un boom… e chissà quante di queste in giro che ne potrebbero essere.
    Mi chiedo, questo aumento di prestazioni, in quali condizioni d'uso sia visibile.

  4. Avatar Raoul Scarazzini

    No, sia Meltdown che Spectre hanno avuto un impatto sulle CPU AMD, anche se in modo diverso rispetto alle CPU Intel.

  5. Avatar Raoul Scarazzini

    Non saprei, ma del mondo closed, per definizione, possiamo avere solo sensazioni.

  6. Avatar Raoul Scarazzini

    Ma infatti non griderei al miracolo, bisognerebbe scendere nel dettaglio per capire la modalità del test. Per intenderci, non penso che riguardi "l'utente medio"…

Lascia un commento

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