Tuning HZ for semi-realtime applications
Daniel Eischen
eischen at vigrid.com
Tue Aug 5 22:54:03 PDT 2003
On Tue, 5 Aug 2003, David Schultz wrote:
> On Tue, Aug 05, 2003, Roderick van Domburg wrote:
> > There's this Linux kernel patch that allows for timeslice tuning. It's
> > got the following rules of the thumb:
> >
> > * The optimal setting is your CPU's speed in MHz's / 2
> > * ...but there is no point in going above 1000 Hz
> > * ...and be sure to use multiples of 100 Hz
> >
> > I am everything but an expert at scheduling, but somehow this makes
> > sense: i.e. one jiffy for the scheduler and one jiffy for the process.
> >
> > Does all of this make any sense or is it just a load of hooey?
>
> There might be some rationale behind that suggestion, but my first
> guess would be that someone pulled those numbers out of a hat. In
> general, doing a context switch has negative cache effects, in
> addition to the overhead that you pay up front. For optimum
> throughput, you want to set HZ to the smallest number that still
> gives acceptable resolution. 100 Hz works just fine for
> interactive jobs; humans can't tell the difference.[1] For many
> real-time applications, a higher value is needed.
>
>
> [1] In terms of overhead, I think 100 Hz is well into the noise
> these days, so bumping that up a little bit would result in
> negligible difference. I measured 100 vs. 500 a little while
> ago, and couldn't find a realistic benchmark that was negatively
> impacted by the higher frequency.
I used to run my old Pentium I (200MHz) laptop at 1000Hz without
any problems. I ran it this way for years until I retired it a
few months ago. I'd support raising our default rate from 100Hz
to 1000Hz.
--
Dan Eischen
More information about the freebsd-hackers
mailing list