summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds2008-10-17 00:38:48 +0200
committerLinus Torvalds2008-10-17 00:38:48 +0200
commit8cde1ad6683f8738ad71f788dca8ab4810cf5afe (patch)
tree13801d1669efd13e85884609e0a18f3e74b2ede0 /kernel
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiw... (diff)
parentMerge branch 'sched/clock' into sched/urgent (diff)
downloadkernel-qcow2-linux-8cde1ad6683f8738ad71f788dca8ab4810cf5afe.tar.gz
kernel-qcow2-linux-8cde1ad6683f8738ad71f788dca8ab4810cf5afe.tar.xz
kernel-qcow2-linux-8cde1ad6683f8738ad71f788dca8ab4810cf5afe.zip
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched_clock: prevent scd->clock from moving backwards
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched_clock.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/sched_clock.c b/kernel/sched_clock.c
index e8ab096ddfe3..81787248b60f 100644
--- a/kernel/sched_clock.c
+++ b/kernel/sched_clock.c
@@ -118,13 +118,13 @@ static u64 __update_sched_clock(struct sched_clock_data *scd, u64 now)
/*
* scd->clock = clamp(scd->tick_gtod + delta,
- * max(scd->tick_gtod, scd->clock),
- * scd->tick_gtod + TICK_NSEC);
+ * max(scd->tick_gtod, scd->clock),
+ * max(scd->clock, scd->tick_gtod + TICK_NSEC));
*/
clock = scd->tick_gtod + delta;
min_clock = wrap_max(scd->tick_gtod, scd->clock);
- max_clock = scd->tick_gtod + TICK_NSEC;
+ max_clock = wrap_max(scd->clock, scd->tick_gtod + TICK_NSEC);
clock = wrap_max(clock, min_clock);
clock = wrap_min(clock, max_clock);