Re: do_gettimeofday vs. rdtsc in the scheduler

john stultz (johnstul@us.ibm.com)
17 Sep 2002 16:32:15 -0700


On Tue, 2002-09-17 at 16:12, David S. Miller wrote:
> From: James Cleverdon <jamesclv@us.ibm.com>
> Date: Tue, 17 Sep 2002 15:55:52 -0700
>
> 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.
>
> This is why the gettimeofday implementation should use the system tick
> thing and also any profiling support in the C library should avoid
> TSC as well.

I think the point James is making is that on very large systems, you
will get system tick skew as well. On one system I know of, the bus
frequency is intensionally skewed slightly between nodes. This is what
causes the TSCs to skew, and I believe would also cause this "system
tick" to skew as well.

Additionally, where is this system tick thing? You make it sound like
its a register in the cpu, and while the Ultra-III may have one, I'm
unaware of a system/bus tick register on intel chips. Is it in some
semi-documented MSR?

I apologize for being confused, I'm just not sure if your criticizing
the code or the hardware.

thanks
-john

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