Resolviendo congelamiento por HPET en Debian/Ubuntu

Durante un tiempo estuvo presentando mi equipo un error que podía verse en el dmesg de la siguiente manera:

CE: hpet increasing min_delta_ns to 15000 nsec

Posterior a la aparición de esa advertencia (HPET: High Precision Event Timer), el sistema pasaba a un estado de “letargo”, aunque algunos usuarios con hardware menos potente reportaba bloqueos o congelamientos, sobre todo del sistema de video o de algún hardware, en mi caso, detectaba era que se “ponía lento” el equipo, o aleatoriamente algún hardware dejaba de funcionar “parcialmente” (en especial, la wlan0 o la interfaz de red eth0).

NOTA: si tienes un equipo con Intel Core 2 Duo y estás presentando breves congelamientos del video, de la red o de la inalámbrica, deberías revisar con el comando:

dmesg

Si estás presentando el mensaje de arriba repetidas veces o estás viendo un core dump de algún módulo en fallo.

El error

El bug, presente en Debian, Ubuntu, Fedora y otras distribuciones (http://www.linux-archive.org/debian-kernel/245380-bug-515172-system-briefly-lockup-messages-ce-hpet-increasing-min_delta_ns-15000-nsec.html) era como consecuencia de un fallo en la interpretación del reloj HPET (que requiere “interrogar” al hardware, en este caso, al CPU Intel Core 2 Duo).

Resolución

La forma mas “rápida” de resolver el problema (y evitar esos fastidiosos “bloqueos temporarios” del hardware), es desactivar el reloj HPET y agregar otro tipo de reloj también preciso: “jiffies” > http://es.wikipedia.org/wiki/Jiffies

Para hacerlo, editamos el grub:

grub1: archivo /boot/grub/menu.lst,  en la línea del kernel (vmlinux).

grub2: editamos /etc/default/grub y en GRUB_CMDLINE_LINUX

En la opción que tengan, agregan:

lapic clocksource=jiffies

Actualización: no es necesario apagar el reloj HPET, con solamente poner el clocksource a jiffies es suficiente.

Luego, generan nuevamente el menú del grub:

update-grub

nota: o update-grub2 para grub2.

Luego, reinician el equipo.

Prueba

La prueba más básica es cargar una película en full-screen, tengo una en m4v (H264 con audio AC3), intentamos usar el acelerador “gl_nosw” (GLX con aceleración por hardware) de Intel:

Ejecuté:

mplayer -vo gl_nosw -fs Videos/gueto2009.m4v

El Mplayer reportó:

VIDEO:  [H264]  852x480  24bpp  25.000 fps  1276.5 kbps (155.8 kbyte/s)
Clip info:
 major_brand: M4VH
 minor_version: 1
 compatible_brands: M4VHM4A mp42isom
[gl] using extended formats. Use -vo gl:nomanyfmts if playback fails.
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
AUDIO: 44100 Hz, 2 ch, s16le, 119.8 kbit/8.49% (ratio: 14976->176400)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
Movie-Aspect is undefined - no prescaling applied.
VO: [gl_nosw] 852x480 => 852x480 Planar YV12  [fs]

Mientras tanto, el CPU reporta un uso de solamente:

Cpu(s):  5.8%us,  4.8%sy

Y en el dmesg, “se fué para siempre” el error de HPET.

Disfruten de un sistema más fluído.

Acerca de phenobarbital

http://about.me/phenobarbital

Publicado el 9 octubre 2010 en Blogeando!, Cultura Libre, Linux, Software Libre. Añade a favoritos el enlace permanente. 3 comentarios.

  1. Por alguna razón hace que el procesador caliente más y el ventilador se mantenga a tope siempre, aunque tiene una frecuencia baja el procesador, ¿es normal?.

    El uso del procesador pareciera ser el mismo con la solución o sin ella a pesar de que también tengo el mensajito en dmesg.

    Salu2

  2. Yo tenía muy alto el uso de procesador usando el reloj de hardware para videos M4V u otros formatos, cambié al reloj jiffies y pues no fué significativa pero bajó …

    No creo que sea consecuencia precisamente de cambiar de reloj de HPET > jiffies, que se dispare tu ventilador es por alguna cosa distinta …

  1. Pingback: Resolviendo congelamiento por HPET en Debian/Ubuntu « Cursos en SmartDreams.cl

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: