[PATCH 2/3] sched_clock: record TSC after gtod

From: Steven Rostedt
Date: Wed Jul 09 2008 - 00:18:52 EST


To read the gtod we need to grab the xtime lock for read. Reading the gtod
before the TSC can cause a bigger gab if the xtime lock is contended.

This patch simply reverses the order to read the TSC after the gtod.
The locking in the reading of the gtod handles any barriers one might
think is needed.

Signed-off-by: Steven Rostedt <srostedt@xxxxxxxxxx>
---
kernel/sched_clock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-tip.git/kernel/sched_clock.c
===================================================================
--- linux-tip.git.orig/kernel/sched_clock.c 2008-07-08 11:03:05.000000000 -0400
+++ linux-tip.git/kernel/sched_clock.c 2008-07-08 16:53:34.000000000 -0400
@@ -237,8 +237,8 @@ void sched_clock_tick(void)

WARN_ON_ONCE(!irqs_disabled());

- now = sched_clock();
now_gtod = ktime_to_ns(ktime_get());
+ now = sched_clock();

__raw_spin_lock(&scd->lock);
__update_sched_clock(scd, now, NULL);

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