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”.
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=forceEsto habilita la característica diga lo que diga la BIOS, y las pruebas demuestran que con esa solución se logran ahorros de energía notables que aumentan la autonomía de las baterías de forma sensible. Enhorabuena a Phoronix por ese gran trabajo que seguro que le alegrará la vida a muchos usuarios. Por cierto, podéis agradecérselo con una donación vía PayPal que seguro que les vendrá muy bien.
No hay comentarios:
Publicar un comentario