La seconda versione delle patch con la ristrutturazione dei file header del kernel Linux

Ingo Molnar ha presentato la seconda versione di una serie di patch che possono ridurre significativamente il tempo di ricostruzione del kernel ristrutturando la gerarchia dei file header e riducendo il numero di dipendenze incrociate. La nuova versione differisce dalla prima proposta pochi giorni fa essendo stata adattata al kernel 5.16-rc8, aggiungendo ulteriori ottimizzazioni e implementando il supporto per la compilazione utilizzando il compilatore Clang. Quando si utilizza Clang, l'applicazione delle patch riduce il tempo di compilazione dell'88% o del 77% in termini di consumo di risorse della CPU. Durante la ricostruzione completa del kernel con il comando “make -j96 vmlinux”, il tempo di compilazione è stato ridotto da 337.788 a 179.773 secondi.

La nuova versione risolve anche il problema con i plugin GCC, corregge gli errori identificati durante il processo di revisione iniziale e unifica le dichiarazioni duplicate della struttura “task_struct_per_task”. Inoltre è proseguita l'ottimizzazione dell'header file linux/sched.h ed è stata implementata l'ottimizzazione degli header file del sottosistema RDMA (infiniband) che ha consentito di ridurre ulteriormente i tempi di build del 9% rispetto alla prima versione delle toppe. Il numero di file del kernel C che includono il file header linux/sched.h è stato ridotto dal 68% al 36% rispetto alla prima versione delle patch (dal 99% al 36% rispetto al kernel originale).

Fonte: opennet.ru

Aggiungi un commento