Request for information - timers, hz, interrupts
John Baldwin
jhb at freebsd.org
Fri Dec 4 16:16:05 UTC 2009
On Friday 04 December 2009 9:52:39 am Ivan Voras wrote:
> For a long time, at least in the 6-stable timeframe, I was used to
> seeing timer interrupts going at the frequency of 2*HZ, e.g. this is
> from 6.4-RELEASE:
>
> kern.clockrate: { hz = 250, tick = 4000, profhz = 166, stathz = 33 }
> debug.psm.hz: 20
>
> cpu0: timer 6789885563 499
> cpu2: timer 6789885538 499
> cpu1: timer 6789885538 499
> cpu3: timer 6789885537 499
>
> Then sometime in 7.x this changed to 4*HZ, which continues in 8.x, e.g.
> from 7.2-RELEASE:
>
> kern.clockrate: { hz = 250, tick = 4000, profhz = 1000, stathz = 142 }
> kern.hz: 250
>
> cpu0: timer 1368329715 988
> cpu1: timer 1368324640 988
> cpu2: timer 1367642854 988
> cpu3: timer 1367642874 988
>
> I'm not very worried about it (though maybe laptop users might be
> because of potential power drainage) but would like to know the
> explanation behind it.
>
> Presumably it has something to do with profhz but what and why? There
> isn't an obvious correlation between profhz frequency in 6.x and HZ and
> in 7.x. and HZ.
It actually was changed to provide saner behavior when you use low hz values
like 'hz=100'. Note that your stathz is now 142 instead of 33. The scheduler
is likely far happier with that stathz. There is more detail in the commit
log I believe (just look at the logs for local_apic.c in either svn or
cvsweb).
--
John Baldwin
More information about the freebsd-hackers
mailing list