Re: [RFC][PATCH] 2.6.0-test11 sched_clock() broken for "drifty ITC"

From: Andrew Morton
Date: Sat Dec 20 2003 - 05:42:05 EST


John Hawkes <hawkes@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> David Mosberger suggests raising this issue on LKML to encourage a search
> for a more general solution to my ia64 problem.
>
> My specific problem is that the generic ia64 sched_clock() is broken for
> "drifty ITC" (the per-CPU cycle counter clock) platforms, such as the SGI
> sn. sched_clock() currently uses its local CPU's ITC and therefore on
> drifty platforms its values are not synchronized across the CPUs. This
> results (in part) in an invalid load_balance() is-the-cache-hot-or-not
> calculation.

Requiring that sched_clock() be synchronised is difficult for some
platforms. Clearly, it is better if we can relax that.

> However, David Mosberger rejected this patch, and he seeks instead some
> hypothetical more generic approach to "drifty timebase platforms". One
> possible generic change would be to relax the semantics of sched_clock() to
> no longer expect that the values be synchronized across all CPUs.

Your patch to kernel/sched.c looks good: low overhead, simple, Ingo likes
it.

Could you please finalise it, cook up the ia64 and numaq implementations
and send it over?


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