Linux – HPET missing from available clocksources on CentOS

centoskernellinux

I am having trouble using HPET on my physical machine. It is not available, even though I have enabled it in my bios, forced it in grub, and triple checked my kernel to include HPET in its compilation.

  • Motherboard: Supermicro X9DRW
  • Processor: 2x Intel(R) Xeon(R) CPU E5-2640
  • SAS Controller: LSI Logic / Symbios Logic SAS2004 PCI-Express Fusion-MPT SAS-2 [Spitfire] (rev 03)
  • Distro: CentOS 6.3
  • Kernel: 3.4.21-rt32 #2 SMP PREEMPT RT x86_64 GNU/Linux
  • Grub: hpet=force clocksource=hpet

.config file:

CONFIG_HPET_TIMER=y 
CONFIG_HPET_EMULATE_RTC=y 
CONFIG_HPET=y

dmesg | grep hpet:

Command line: ro root=/dev/mapper/vg_xxxx-lv_root rd_NO_LUKS rd_LVM_LV=vg_xxxx/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_xxxx/lv_swap rd_NO_DM LANG=en_US.UTF-8 rhgb quiet panic=5 hpet=force clocksource=hpet
Kernel command line: ro root=/dev/mapper/vg_xxxx-lv_root rd_NO_LUKS rd_LVM_LV=vg_xxxx/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_xxxx/lv_swap rd_NO_DM LANG=en_US.UTF-8 rhgb quiet panic=5 hpet=force clocksource=hpet

cat /sys/devices/system/clocksource/clocksource0/current_clocksource:

tsc

cat /sys/devices/system/clocksource/clocksource0/available_clocksource:

tsc jiffies

What is even more confusing, is that I have about a dozen other machines that utilize the same kernel .config, and can use HPET fine. I fear it is a hardware issue, but would appreciate any advice or help with getting HPET available.

Thanks in advance!

Best Answer

Additional info would be useful

  • dmesg|grep -i hpet - for some HPET related information.
  • dmidecode - BIOS version part.

Also upgrading BIOS should probably help.

PS. Why not TSC? It's faster and if you have both constant_tsc and nonstop_tsc in /proc/cpuinfo it's definitely the best choice.

Related Topic