Da un po’di tempo si sta lavorando su patch del kernel di Linux per velocizzare i tempi di avvio consentendo l’attivazione parallela dei core della CPU. Da allora si sono verificati problemi di avvio di AMD e le patch sono state sottoposte a più revisioni per aiutare con i tempi di avvio del kernel Linux. Queste patch continuano a essere migliorate e ieri è stata pubblicata una serie di patch rielaborate.
Thomas Gleixner ha pubblicato una serie di 37 patch del kernel che rielaborano l’attivazione parallela della CPU per il kernel Linux per risolvere i problemi sollevati più di recente durante il processo di revisione. Queste patch gestiscono i requisiti di serializzazione del caricatore di microcodici x86 per garantire che per le CPU Intel con Hyper Threading il microcodice venga caricato sul thread primario. Le patch risolvono anche alcuni problemi generali di progettazione emersi durante il sedicesimo round di revisione delle patch precedenti.
Il motivo per cui le persone sono interessate al bringup parallelo è ridurre il tempo di riavvio (kexec) dei server cloud per ridurre i tempi di inattività dei tenant delle VM. Ci sono ovviamente altri casi d’uso interessanti per questo come il tempo di avvio della VM, i dispositivi incorporati…
…
L’aggiunta del meccanismo di attivazione parallela di base fornito da questa serie ha molto senso. Anche il miglioramento di questioni particolari, come sottolineato nell’analisi, ha senso.Ma cercare di risolvere completamente un problema specifico dell’applicazione nel kernel con tonnellate di complessità, senza prima esplorare approcci diretti e semplici, non ha alcun senso.
Maggiori dettagli per coloro che sono interessati tramite questa serie di patch.
Queste ottimizzazioni di avvio del kernel Linux sono particolarmente vantaggiose per i server con un elevato numero di core CPU. Vedremo se queste patch più recenti sono ora abbastanza in forma per essere raccolte dalla linea principale in qualche modo.