Menu
in

Un bug en la función Hyper-Threading afecta a chips Skylake y Kaby Lake

Una actualización de BIOS debería ser suficiente

Durante el fin de semana, los desarrolladores de Debian descubrieron algo extraño en las últimas dos generaciones de procesadores Intel, Skylake y Kaby Lake. Bajo condiciones muy específicas, un bug en la función de Hyper-Threading podría llevar a «un comportamiento impredecible» del sistema, que incluye corrupción y pérdida de datos. Pero antes de que la bola de nieve se haga más grande, tenemos buenas noticias: El error puede ser corregido con ajustes sobre el microcódigo, lo que se traduce en un update de BIOS/UEFI para las placas base.

Los errores de hardware son tan inevitables como los de software, aunque su impacto puede ser mucho más grave y costoso para el usuario. Lamentablemente, las últimas generaciones de procesadores no parecen ser inmunes. Sin ir más lejos, los chips Ryzen se quedaban congelados en algunas cargas de trabajo con código FMA3, y AMD trabajó contra reloj junto a los fabricantes de placas base para publicar el parche necesario. Ahora es el turno de Intel, o siendo más específicos, los procesadores Skylake y Kaby Lake de la compañía que sean utilizados con la función de Hyper-Threading activada (siempre y cuando esté disponible). El error fue reportado por desarrolladores de Debian durante el fin de semana, pero de acuerdo al texto, el bug está siendo investigado desde enero, y su detección inicial se remonta a mediados de 2016.

El bug se manifiesta en situaciones muy específicas

La documentación pública de Intel presenta al bug como «Bucles Cortos que usen Registros AH/BH/CH/DH podrían provocar un comportamiento impredecible en el sistema». En su descripción leemos que bajo condiciones complejas, los bucles cortos con menos de 64 instrucciones que utilicen a los registros AH, BH, CH o DH, al igual que los registros anchos correspondientes (como RAX, EAX, o AX para AH), pueden causar efectos impredecibles en el ordenador, pero eso sólo sucede cuando los dos procesadores lógicos en un mismo procesador físico se encuentran activos (o sea, Hyper-Threading).

Intel ya publicó varias correcciones en el microcódigo, y es cuestión de tiempo para que lleguen a todos los usuarios, ya sea como parches a nivel del sistema operativo, o como un update en el BIOS/UEFI de la placa base. En el peor de los casos, si un usuario se ve afectado por el bug siempre tiene la opción de desactivar Hyper-Threading de forma temporal, pero el número de incidentes ha sido tan bajo, que en lo personal no creo que valga la pena llegar a ese extremo.

Escrito por Lisandro Pardo

Leave a Reply