Я пытаюсь включить поддержку таймера высокого разрешения в 2.6.39.1 64-битной Linux. Для этого я сначала устанавливаю CONFIG_HIGH_RES_TIMERS=y
в .config.
Кроме того, вывод grep HZ .config
составляет:
# CONFIG_RCU_FAST_NO_HZ is not set
CONFIG_NO_HZ=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_MACHZ_WDT=m
Однако, вывод следующей команды не 1 nsec
, как ожидалось после перекомпиляции ядра.
cat /proc/timer_list |grep resolution
отпечатки: .resolution: 999848 nsecs
Также cat /proc/timer_list |grep handler
выводит:
event_handler: tick_handle_periodic
вместо event_handler: hrtimer_interrupt
Когда я проводил эксперименты, используя hrtimer
, я явно не видел наносекундную точность в результатах.
Я также попытался запустить упомянутую здесь программу на C , которая должна помочь определить частоту прерываний таймера ядра Linux. Результат запуска C программы выглядит следующим образом:
kernel timer interrupt frequency is approx. 766 Hz
Я работаю над Dell Poweredge T710 , который, как мне кажется, имеет аппаратную поддержку таймеров высокого разрешения (?)
Я что-то пропустил? Где я ошибся?
Спасибо!