Re: Is kernel/Kconfig.hz still up-to-date?
From: Christoph Lameter (Ampere)
Date: Tue Apr 08 2025 - 12:55:44 EST
On Mon, 7 Apr 2025, Diederik de Haas wrote:
> I recently had a discussion about the use of HZ_1000 in the kernel
> configuration and the impact on performance.
> My reading of the HZ_1000 help text tells me that HZ_1000 is primarily
> useful for DAW and other systems where RT capabilities are (most)
> important. This is due to "systems requiring fast interactive responses
> to events", whereby I put the emphasis on *requiring*.
Fast reponses to events can be generated by interrupts and short duration
timers even if you have a low HZ. In general we want a low HZ to reduce
system overhead.
> As *I* understand the rest of the help texts, a higher Hz value can/will
> have a negative effect on f.e. IO performance. And I'm not entirely
> sure, but it seems each CPU (core?) multiplies the nr of interrupts?
Each cpu has its own interrupts. Yes.
> While the Kconfig.hz default is still HZ_250, the x86 defconfig changed
> to HZ_1000 in 5cb04df8d3f0 ("x86: defconfig updates") (in 2008) and
> there are various distros which have switched to HZ_1000.
User land software that does not use kernel synchronization but improvises
its own spinlocks causes these issues. Sadly the desktop apps often do
this and thus benefit from a higher HZ.
> So my questions are: are the Kconfig help text still accurate for
> current (hardware) systems and kernels? Is HZ_250 still the most
> sensible default? Or is the 'newer' HZ_300 better? Or even HZ_1000?
> And does that apply only for x86 or for all architectures?
> (distros seem to vary between architectures f.e.)
HZ 100 is probably a good value. If there are regression in user space
then they are usually related to coding of spinlock functionality in user
space. Better fix user space than cause additional overhead for everyone.