2012-02-10 4 views
5

Estoy tratando de medir el tiempo de ejecución de partes del código del kernel de Linux y encontré que hay dos subsistemas diferentes para los temporizadores. hrtimers significa temporizador de alta resolución mientras que hpet significa temporizador de eventos de alta precisión.Subsistemas de temporizadores de kernel de Linux: precisión frente a resolución

¿En qué se diferencia la resolución de la precisión?

http://www.mjmwired.net/kernel/Documentation/timers/

Respuesta

5

HPET se refiere a una pieza específica de hardware de la plataforma PC x86 (que Linux tiene un controlador para). HPET se describe en, por ejemplo, este artículo de wikipedia: http://en.wikipedia.org/wiki/High_Precision_Event_Timer

hrtimers es un subsistema Linux que proporciona un marco general para la abstracción de software de "temporizadores de alta resolución". Los hrtimers son la interfaz que debe usar el código de kernel de Linux más genérico, mientras que HPET es una característica de hardware que utiliza el código de tiempo de plataforma específico de bajo nivel.

+0

gracias! ¿Pero sabes si existen diferencias entre precisión y resolución en el contexto del subsistema del temporizador? [] 's –

+1

@PeterSenna - Solo estoy especulando sobre esto; pero creo que "alta resolución" se refiere a poder controlar pasos de tiempo más pequeños que lo que proporcionaría HZ (jiffies); "precisión" sería qué tan bien el procesador/sistema operativo gestione los retrasos solicitados (por ejemplo, incluso si solicita el mismo retraso en repetidas ocasiones, obtendrá una variación). En http://stackoverflow.com/questions/16920238/reliability-of-linux-kernel-add-timer-at-resolution-of-one-jiffy, quiero baja resolución (el temporizador golpea cada jiffy), pero tengo una sin embargo, el problema de la precisión es malo (el núcleo puede omitir todo un jiffy == un período completo). – sdaau

Cuestiones relacionadas