29 de junio de 2011

Phoronix descubre el problema de batería en el kernel 2.6.38

Hace tiempo que venimos hablando de los problemas del núcleo 2.6.38, que aunque trajo numerosas mejoras también incluyó una “regresión” que provocaba que la autonomía de las baterías de portátiles se acortase de forma notable en según qué casos.
Como explican en Phoronix -vosotros mismos lo confirmásteis en los comentarios- el uso del kernel 2.6.38 no siempre provoca dichos problemas, pero si tenéis un portátil con Ubuntu 11.04, Fedora 15 o alguna de las nuevas distribuciones del mercado que integran ese núcleo Linux, es bastante posible que hayáis notado como la autonomía de vuestras baterías se reducía considerablemente.
Afortunadamente, parece que ya hay una solución bastante eficiente del problema hasta que los desarrolladores del kernel la soluciones de forma universal. Gracias al uso de los benchmarks de la célebre Phoronix Test Suite se ha podido desvelar la causa del problema que causaba esa disminución de la autonomía de la batería.
Según Phoronix y su creador, Michael Larabel, la gran causa del problema del consumo de energía en el kernel 2.6.38 es el cambio que se realizó en el llamado ASPM (Active-State Power Management) para las ranuras PCI Express. En concreto, el cambio está documentado en el commit con código 2f671e2dbff6eb5ef4e2600adbec550c13b8fe72 que tiene por título “PCI: Deshabilitar ASPM y la BIOS nos lo pide”.

1 Phoronix descubre el problema de batería en el kernel 2.6.38
2 Phoronix descubre el problema de batería en el kernel 2.6.38

Las gráficas de Phoronix dejan claro que la mejora en autonomía de batería es notable.
La característica Active-State Power Management debería ahorrar consumo de energía estableciendo un estado de ahorro de energía en enlaces PCI Express que no se están usando. La desventaja es que ASPM puede incrementar la latencia de los dispositivos, pero el ahorro energético compensa de sobra esa latencia. Aunque puede funcionar en ordenadores de sobremesa, la característica está especialmente pensada para portátiles, pero si la BIOS indica que no soporta ASPM, ese comportamiento se modifica.
Y aquí llegamos a la causa del problema: BIOS mal configuradas, puesto que muchos fabricantes de portátiles soportan ASPM pero no lo configuran correctamente en la llamada Fixed ACPI Description Table, que es la que “autoconfigura” la BIOS durante el arranque.

¿Cuál es la solución?

Simple: añadir una línea a nuestro arranque para forzar el uso de ASPM:

pcie_aspm=force





Abrir terminal (control+t) y poner:

  • gksu gedit /etc/default/grub


se nos abre una ventana mas o menos en la linea 11 del texto ahi veremos algo asi:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

seguido de quiet splash agregamos lo siguiente: pcie_aspm=force

(Nos quedaria algo asi GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force")

nota: prestar mucha atención y fijarce que no allamos agregado una letra mal

listo ponemos guardar cerramos la ventana ahora sigamos con la terminal que tenemos abierta y poner:

  • sudo update-grub
Ahora tenemos el grub actualizado y pronto reiniciar el equipo y ahora la batería nos durara mucho mas tiempo

No hay comentarios:

Publicar un comentario