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!!!

  1. 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

  2. Rendete il file /etc/rc.local eseguibile tramite il comando


    sudo chmod +x /etc/rc.local

  3. 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

  4. 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

Post popolari in questo blog

Spostare o migrare gli account utente dal vecchio server Linux su un nuovo server Linux

Thunderbird: Come inserire la firma nei messaggi?

Installare e configurare il Prelink