Lo scheduler rappresenta uno dei componenti più delicati del kernel Linux: decide quale processo eseguire, su quale CPU e per quanto tempo. Errori o inefficienze in questa area possono influire direttamente sulla latenza, sulla reattività del sistema e sul consumo energetico.

Con l’introduzione di sched_ext, gli sviluppatori possono implementare politiche di scheduling personalizzate sfruttando l’infrastruttura eBPF, senza modificare direttamente il codice centrale dello scheduler: si crea una sorta di laboratorio controllato dove testare nuove logiche prima di valutarne una possibile integrazione permanente.

Tuttavia, Linus Torvalds è nuovamente andato su tutte le furie esaminando una parte delle recenti modifiche destinate a sched_ext: “per favore, smettetela di fare questa cosa disgustosa“. Il fondatore di Linux non ha contestato le nuove funzionalità né la direzione tecnica del progetto: a farlo andare in escandescenza è stata invece l’organizzazione del codice sorgente.

Le motivazioni della critica di Linus Torvalds

Durante il merge delle modifiche destinate a Linux 7.2, Torvalds ha notato la comparsa di diversi file con prefisso ext_ direttamente all’interno della directory kernel/sched. Tra questi figuravano file come ext_arena.c, ext_cid.c ed ext_types.h. La scelta adottata dagli sviluppatori consisteva nell’utilizzare prefissi nei nomi per distinguere i componenti appartenenti a sched_ext.