HPET or High Precision Event Timer is a hardware built-in clock source available in most processors.

I would use the computer to generate CSPRNG and do cryptographic operations.

My question is: Is it better to enable HPET or leave it disabled. How does HPET influence the entropy pool on Linux (and /dev/random & /dev/urandom)? Will the computer have better entropy with HPET?

Performance is not a problem, I would like a good entropy, and cryptographically secure random numbers.


Linux uses TSC by default for its clock source due to its lower overhead, and only uses HPET as the fallback. The kernel gathers entropy from interrupt timing intervals, using the RDTSC instruction on x86 processors. Unless you do not have TSC support, then I do not believe disabling HPET will influence your entropy collection at all. Only on certain embedded processor architectures such as ARC will you have problems involving the lack of a high-resolution TSC instruction.

| improve this answer | |
  • I have and older non-embedded AMD processor. So basically you are saying that I should have it enabled because it doesn't do neither good nor bad? – sebastian9 Jul 22 '16 at 13:01
  • @sebastian9 You should probably have HPET enabled anyway. I was trying to troubleshoot a problem with a server, and the ping utility kept giving me silly numbers. Turns out HPET was disabled in the kernel. – forest Feb 21 '19 at 7:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.