Re: Why HZ on i386 is 100 ?

george anzinger
2002-04-23T19:11:47Z

Andi Kleen wrote:
>
> Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
>
> > > The problem is in accounting (or time slicing if you prefer) where we
> > > need to start a timer each time a task is context switched to, and stop
> > > it when the task is switched away. The overhead is purely in the set up
> > > and tear down. MOST of these never expire.
> >
> > Done properly on many platforms a variable tick is very very easy and also
> > very efficient to handle. X86 is a paticular problem case because the timer
> > is so expensive to fiddle with
>
> Depends. On modern x86 you can either use the local APIC timer or
> the mmtimers (ftp://download.intel.com/ial/home/sp/mmts097.pdf -
> should be in newer x86 chipsets). Both should be better than the
> 8254 timer and are also not expensive to work with.

I must not be making my self clear :) The overhead has nothing to do
with hardware. It is all timer list insertion and deletion. The
problem is that we need to do this at context switch rates, which are
MUCH higher that tick rates and, even with the O(1) insertion code,
cause the overhead to increase above the ticked overhead.

-g
>
> -Andi
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
George Anzinger george@mvista.com
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Real time sched: http://sourceforge.net/projects/rtsched/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml