23 noviembre 2010

Alternativa al parche de 200 lineas del Kernel en Fedora 13 y 14

Parche de 200 lineas para el Kernel de Linux
Hace algunos días, Phoronix publicó información acerca de un nuevo y mágico parche de 200 lineas desarrollado para el Kernel de Linux, el parche, escrito por Mike Galbraith se supone que mejora en gran medida el desempeño de la maquina reduciendo la latencia del desktop al menos 60 veces.

Esto es una mejora mas que impresionante para todo usuario de Linux, por lo que Linus Torvadls ha decidido incluirlo en una próxima versión del Kernel. Incluso después de haber tenido una comunicación con el desarrollador de Red Hat, Lennart Poettering, quien sostiene que esto puede hacerse de una manera mucho mas sencilla sin necesidad de parchar el Kernel de Linux, que ya bien gordo esta como para agregarle mas código.

Pero Linus se sostiene en que quiere parchar el Kernel para que todos los usuarios de Linux puedan aprovecharlo, incluso aquellos que utilizan distribuciones relativamente antiguas.

Yo por mi lado puedo decirles que la solución aportada por Lennart Poettering definitivamente funciona, y muy bien, mejorando en gran medida el desempeño del desktop en tareas comunes de desplazamiento, renderización, video, etc. Incluso cuando el hardware se encuentra altamente estresado con muchos trabajos al mismo tiempo.

En este momento podemos encontrar la modificación original escrita por Lennart Poettering en WebUpd8, ademas de un pequeño manual para implementar la modificación en Ubuntu.

Aquí les presento los pasos que yo mismo seguí para realizar la modificación en Fedora 14, pero estos también funcionan para Fedora 13. Este pequeño manual lo tenemos gracias a schurke en fedoraforums.

Para empezar ejecuta las siguientes lineas como root en la terminal:

# service cgconfig start
# chkconfig --level 2345 cgconfig on

Agrega las siguiente lineas a /etc/rc.local:

mkdir -m 0777 /cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /cgroup/cpu/release_agent

Estas otras lineas a /usr/local/sbin/cgroup_clean:

#!/bin/sh
rmdir /cgroup/cpu/user/$*

Has que cgroup_clean pueda ejecutarse con:

# chmod +x /usr/local/sbin/cgroup_clean

Ahora como usuario agrega las siguientes lineas a ~/.bashrc:

if [ "$PS1" ] ; then
mkdir -m 0700 /cgroup/cpu/user/$$
echo $$ > /cgroup/cpu/user/$$/tasks
echo "1" > /cgroup/cpu/user/$$/notify_on_release
fi

Y termina con:

$ sudo sh /etc/rc.local

Ahora disfruta de un desktop mucho mas fluido en Fedora 13 y 14...
blog comments powered by Disqus