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