Hace ya tiempo salió la noticia de que un tipo, Mike Galbraith, había escrito un parche para el kernel de Linux, versión 2.6.37, con tal sólo 233 líneas de código, que reducía por 10 la latencia de las aplicaciones de escritorio, esto es, da al usuario fluidez en el uso de programas, que a fin de cuentas es mejorar la experiencia de usuario.
¿cómo se consigue esto? bueno, el parche es un trozo de código que ordena los procesos en grupos y les da prioridad a los que son de escritorio, simple ¿verdad? Es por eso que, ya incorporado al árbol principal de código del kernel, es una característica que se denomina: Automatic Process Group Scheduling.
Se decidió incorporarlo para la versión 2.6.38 que fue liberada el 14 de Marzo de 2011, y desde entonces lo tenemos en la rama oficial de Linux.
Si tienes una de las distribuciones habituales tipo Fedora, Ubuntu, Mandriva, Suse…. supongo que lo traerá de serie con la siguiente actualización del sistema que tenga el kernel 2.6.38, si no es así, te voy a enseñar cómo podemos activarlo.
Como cada distribución es un mundo en temas de kernel, sólo voy a indicar por encima cómo se haría, y cómo se hace en Gentoo, que es la que uso.
Doy por hecho que tenemos las fuentes del kernel en /usr/src/linux y que tenemos la configuración del kernel actual guardada en /usr/src/linux/.config
Arrancamos menuconfig para configurar correctamente el kernel:
General y gentoo:
$ cd /usr/src/linux
$ make oldconfig
$ make menuconfig
una vez nos salga el menú, con los cursores pulsamos Enter en la primera opción: General setup

en el siguiente menú que son sale, bajamos hasta: Automatic process group scheduling y pulsamos la Y. Tiene que haber un asterisco entre los corchetes del principio de línea: [*]

Una vez hecho esto, presionamos con el cursor a la derecha, resaltando la opción de Exit, pulsamos Enter, otra vez cursor derecho, se resalta Exit, presionamos Enter, y nos saldrá la pantalla de si queremos guardar, simplemente volvemos a pulsar Enter, que es guardar los cambios.
Nos queda compilar el kernel, los módulos e instalarlo.
General:
$ cd /usr/src/linux
$ make all
$ make modules && make modules_install
después de esto nos quedaría crear el initrd que cada distribución tiene su manera, modificamos el /boot/grub/menu.lst y a volar. Si estos pasos no se saben cómo hacer buscad información para vuestra distribución que seguro que hay.
Gentoo:
En gentoo a través de la utilidad que da de compilar el kernel te la la posibilidad de configurarlo y te general él solo el initrd:
$ genkernel --menuconfig all
Esto te instala el kernel en el boot junto con el initrd y te instala los módulos donde hacen falta. Lo único que hay que hacer es modificar el /boot/grub/menu.lst, que incluso si es la misma versión no hay que hacerlo.
Si tenéis alguna duda lo mejor es buscar por internet o preguntarme.
Yo ya tengo la opción en todos mis equipos y la verdad es que se nota mucho, estoy encantado, como dicen “is a miracle patch”.