
Non mi dilungo su cosa è la patch CFS (Completely Fair Scheduler) e cosa fa e non fa, è ampiamente documentato in giro per la rete (ad esempio qui), dico brevemente che serve ad ampliare le scarse attitudini del Kernel Vanilla alla bassa latenza, cosa che faceva fino a poco tempo fa la patch non ufficiale -ck di Con Kolivas, rendendo il kernel più responsivo ad alti carichi di lavoro e anche per un uso multimediale, includendo anche una gestione della memoria in modo diverso, infatti queste patch utilizzano un po’ più la swap, e di conseguenza la memoria fisica, di un Kernel GNU/Linux “pulito”.
Ingo Molnar, che si occupa della CFS, ha fatto dei “backport” per i kernel che non includono questa patch, il tutto è disponibile qui.
Prendendo per assodato che voi sappiate già compilare un kernel, la patch è di facile applicazione, scaricate quella che fa per il vostro kernel e nella cartella dei sorgenti inoltrate questo comando:
patch -p1 -i /percorso/sched-cfs-v2.6.22.9-v22.patch
Se volete compilare un kernel che è più nuovo della versione della patch, nel caso sopra si fa riferimento alla patch per il kernel 2.6.22.9 ed invece è disponibile un 2.6.22.12, basta modificare la stessa per adattarla ad un kernel più nuovo. Aprite la patch con gEdit (o Kate, o quello che usate), cercate e sostituite tutte le voci che si riferiscono al kernel 2.6.22.9 con il 2.6.22.12, usate la apposita funzione.
Ad esempio:
Index: linux-cfs-2.6.22.9.q/Documentation/kernel-parameters.txt
Diventerà:
Index: linux-cfs-2.6.22.12.q/Documentation/kernel-parameters.txt
E così via. Non è sicuro che funzioni, ma c’è una alta probabilità che vada, io stesso non ho avuto problemi ad applicarla su un 2.6.22.10 e l’attuale 2.6.22.12.
Le opzioni importanti da abilitare nel kernel per avere una patch funzionante al 100% sono: “General Setup > Fair group CPU scheduler” e relativo sotto menù, “Block Layer > IO Schedulers > CFQ I/O scheduler“, qui assicurativi che sia abilitato solo il “CFQ”, “Processor type and features > Preemption Model“, qui scegliete fra “Voluntary Kernel Preemption (Desktop)” o “Preemptible Kernel (Low-Latency Desktop)“, tutti gli altri consigliano la seconda, ma io penso che per un uso desktop giornaliero la migliore sia la prima, quella volontaria. Infine in “Processor type and features > Timer frequency” selezionate “1000 HZ”, è più che sufficiente.
Buona compilazione ![]()
Se vuoi inserire un commento, per favore completa il form sottostante.
Il contenuto di questo sito web è pubblicato sotto una Licenza Creative Commons.