Re: do_gettimeofday vs. rdtsc in the scheduler

James Cleverdon (jamesclv@us.ibm.com)
Tue, 17 Sep 2002 15:55:52 -0700


On Tuesday 17 September 2002 03:38 pm, David S. Miller wrote:
> From: Andi Kleen <ak@suse.de>
> Date: Wed, 18 Sep 2002 00:44:42 +0200
>
> > I don't know how Sun and SGI manage with their larger systems. Either
> > they don't do clock sync, or they may have to make expensive
> > tradeoffs.
>
> I guess you could always run NTP between the different CPUs ;) ;)
>
> :-)
>
> More seriously, you don't need to have the cpu tick registers sync'd,
> it is the rate that matters.
>
> Once booted, you can sync these system tick registers with a pretty
> straight forward algorithm in the kernel. Bonus points if you can
> figure out how to cancel out the cost of moving the system tick sample
> cachelines between master and slave in your algorithm :-)

Been there. Done that. Had the product canceled. ;^)

The initial sync was easy, even with variable latencies on cache lines. A
much simplified NTP-ish algorithm works fine. The painful thing was bus
clock drift and programs that foolishly relied on the TSC being the same
between CPUs and between nodes.

-- 
James Cleverdon
IBM xSeries Linux Solutions
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot com

- 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/