aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Rostedt <[email protected]>2008-07-09 00:15:32 -0400
committerIngo Molnar <[email protected]>2008-07-11 15:53:27 +0200
commita83bc47c33ab182f1e48977fd5a04024d713c75e (patch)
tree759eb1afc83271ee2815dbd1214635ec7b506b5c
parentc0c87734f125d2fa8ebc70310f3257fa6209f2b6 (diff)
sched_clock: record TSC after gtod
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 <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Andrew Morton <[email protected]> Cc: john stultz <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
-rw-r--r--kernel/sched_clock.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched_clock.c b/kernel/sched_clock.c
index ee7cce5029ce..28ff6bf5e02b 100644
--- a/kernel/sched_clock.c
+++ b/kernel/sched_clock.c
@@ -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);