Intel quiere corregir el mal funcionamiento de la suspensión en los portátiles

publicado en: Linux | 0

 

Que Linux no brilla en los portátiles es algo bastante conocido. Los problemas con la gestión de la energía han sido una constante en su trayectoria, los cuales a veces han supuesto importantes regresiones. Afortunadamente, Intel parece estar dispuesta a poner de su parte para al menos mejorar a la hora de llevar a cabo el proceso de suspensión.

Al parecer hay modelos de portátiles con procesadores Intel que se calientan más de lo que deberían, lo que lleva a un drenaje de la batería que puede producirse incluso cuando el equipo entra en estado de suspensión. Con el problema sobre la mesa, Intel ha decidido tomar cartas en el asunto para introducir una solución en el kernel Linux, ya que el origen es aparentemente un fallo en S0ix provocado por el sobrecalentamiento del PCH, pero antes de meternos en harina, vamos a exponer brevemente qué son S0ix y PCH.

S0ix, o más bien sus estados, representan la residencia de los estados de energía en espera e inactivos (idle standby) en los SoC de Intel. Los estados de S0ix apagan las partes del SoC cuando no están en uso a la vez que intentan mantener un rendimiento óptimo y se accionan bajo condiciones específicas. S0ix no es totalmente transparente al sistema operativo y hay condiciones específicas dependientes de la plataforma que el propio sistema operativo debe cumplir.

PCH, que vienen a ser las iniciales de Platform Controller Hub, es la familia de chipsets en un solo chip presentada por Intel en el año 2009 que vino a suceder a Intel Hub Architecture (IHA). La principal diferencia frente a IHA es que PCH eliminó la arquitectura de puente norte y puente sur que se estableció como el estándar en tiempos pasados.

Dejándonos en el tintero muchas cosas, PCH soporta funciones en conjunción con los procesadores Intel, entre las que están el reloj del sistema, la Interfaz de Pantalla Flexible (Flexible Display Interface/FDI) y la Interfaz de Medios Directos (Direct Media Interface/DMI).

Tras ponernos en antecedentes y para recuperar el tema, la entrada en estado de suspensión de S0ix cuando el PCH está sobrecalentado provoca que falle a la hora de alcanzar el estado de bajo consumo de energía, haciendo que la batería se drene sin que el usuario se percate. Para corregir eso se fusionó un parche en 2020 que agregó un bucle de retraso de un segundo para permitir que la temperatura del PCH tenga la oportunidad de caer hasta el límite seguro para el correcto funcionamiento del estado de suspensión de S0ix.

Sin embargo, la solución implementada en 2020 no se ha mostrado efectiva para todos los modelos de portátiles y encima no pareció tener muy en cuenta la temperatura ambiental, así que Intel ha presentado unos nuevos parches con el propósito de ofrecer un mejor remedio para el problema.

La nueva solución para que el estado de suspensión funcione correctamente en portátiles Intel es aparentemente más lo mismo, pero en más cantidad, ya que se ha establecido una espera de sesenta segundos para dar margen al enfriamiento del PCH y hacer que el estado de suspensión de S0ix funcione correctamente, evitando así el drenaje de la batería. Las generaciones de procesadores que en un principio se beneficiarán de los parches van desde Skylake hasta Comet Lake.

Mejorar el soporte de Linux en los portátiles está siendo un reto que posiblemente no se esté abordando como debería. Además de lo que respecta al kernel, es importante introducir medidas y características a diversos niveles para que las mejoras se noten. Por ejemplo, ahí tenemos a GNOME 41, que introdujo más perfiles para una mejor gestión de la energía en ese tipo de equipos.

Este servidor, que tiene un portátil con un procesador Intel Comet Lake, posiblemente termine agradeciendo estos parches, más viendo que la Andalucía profunda es una sartén difícil de aguantar en verano.

Fuente: Muy Linux