9 dic 2011

Parche para el consumo de energía en portátiles

Hace tiempo venía leyendo sobre el tema aunque sin mayor interés ya que no soy usuario de portátiles, por lo que no tengo idea de la gravedad o no del asunto para un usuario del día a día. Además, me parecía una prueba muy interesante para desarrolladores y gente observadora que se encargan del mantenimiento del kernel. Sin embargo, lo que al principio parecería un desafío solucionable en los dos o tres lanzamientos siguientes del núcleo, concluyó en un conjunto de correcciones pasajeras.

consumo 500x387 Parche para el consumo de energía en portátiles 

Cuando ya el asunto parecía estancarse en una lista de cosas para hacer, surge una noticia (que encontré de casualidad y fue publicada hace ya un tiempo) con otra maravillosa solución en pocas líneas. Matthew Garrett, ingeniero de Red Hat, publicó un parche de 60 líneas que, si bien no afirma ser la modificación absoluta para todo ordenador portátil, ha logrado ahorrar alrededor de 5W en su Thinkpad X220. Básicamente lo que busca hacer el parche es que el kernel se encargue de aquello que se debía hacer mediante el ingreso de parámetros durante el inicio.

Sepan disculpar que no soy un programador activo ni conozco mucho de la estructura del núcleo en sí pero a partir de los comentarios del autor del parche y algo que sé, intentaré analizar superficialmente qué es lo que se soluciona. En primer lugar, son tres los archivos que sufren modificaciones, relacionados con ACPI y ASPM. A simple vista, se tratan de sutilezas. Aparentemente lo que causa el problema es un problema de indicaciones: FADT (Fixed ACPI Description Table) dice que no soporta ASPM entonces no se le presta atención a FADT y lo activa igual. Como afirma en la publicación, Garrett, esto no sucede en Windows ya que no toca ninguna función de las PCI Express (y por lo tanto ASPM).
Ahora, existiendo el parche, ¿la corrección está a la vuelta de la esquina? No, se prevé que no vaya a estar incluído para la versión 3.3 aunque puede que aparezca en un próximo lanzamiento de alguna distribución (sea Ubuntu, Fedora, etc.). De cualquier manera, el diff para la corrección existe y está disponible para quienes quieran usarlo, de lo contrario, a esperar no más que unos meses. Ya ha pasado tanto tiempo…
Nota: quien quiera más información al respecto, Phoronix le dedicó un análisis más extenso. Sin embargo, personalmente prefería acudir a la fuente principal de la noticia.

Fuente - ML