Ridurre la latenza del Kernel senza installare la patch del kernel di Mike Galbraith
Negli ultimi giorni ha fatto grande notizia il rilascio di una patch del kernel, da parte dello sviluppatore Mike Galbraith, che dovrebbe migliorare ridurre dastricamente la latenza del kernel in ambiente desktop.
Sfortunatamente questa patch, che ha avuto anche l'approvazione di Linus Torvalds:
"Very impressive. This definitely looks like something people will notice."
non sarà presente nel kernel quantomento sino alla versione 2.6.38.
Ma ecco che Lennart Poettering, sviluppatore RedHat, replicando a Linus Torvalds sulla mailing list ci viene in aiuto presentando un'alternativa alla sudetta patch. In questo caso però non è necessario aggiungere alcuna patch al kernel ma basta eseguire alcuni semplici comandi da terminale.
Se volete applicare la modifica proposta da Lennart Poettering alla vostra distribuzione Ubuntu vi basterà seguire le seguenti istruzioni:
ATTENZIONE - Anche se testata con successo la seguente modifica potrebbe compromettere la stabilità del sistema!!!
- Aprite il file /etc/rc.local digitando da terminale
sudo gedit /etc/rc.local
ed incollate il seguente codice
mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "1" > /dev/cgroup/cpu/user/notify_on_release
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent
prima della riga di codice
exit 0 - Rendete il file /etc/rc.local eseguibile tramite il comando
sudo chmod +x /etc/rc.local - Aprite il file ~/.bashrc tramite il comando
gedit ~/.bashrc
ed incollate in coda al file la seguente porzione di codice
if [ "$PS1" ] ; then
mkdir -p -m 0700 /dev/cgroup/cpu/user/$$ > /dev/null 2>&1
echo $$ > /dev/cgroup/cpu/user/$$/tasks
echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi - Sempre da terminale digitate
sudo gedit /usr/local/sbin/cgroup_clean
ed incollateci
#!/bin/sh
if [ "$*" != "/user" ]; then
rmdir /dev/cgroup/cpu/$*
fi
Salvate il file e rendetelo eseguibile tramite il comando
sudo chmod +x /usr/local/sbin/cgroup_clean
Ora non vi resta che riavviare il sistema.
Commenti