]> git.baikalelectronics.ru Git - kernel.git/commit
sched_clock: prevent scd->clock from moving backwards
authorDave Kleikamp <shaggy@linux.vnet.ibm.com>
Thu, 9 Oct 2008 18:21:30 +0000 (13:21 -0500)
committerIngo Molnar <mingo@elte.hu>
Fri, 10 Oct 2008 09:17:04 +0000 (11:17 +0200)
commitd3f95dcf2818bdbfa428f07f2f7c99189aa8e17c
tree8fa9be3a308d1b5f2eb22d0a02dbe887a479ee3e
parent4f37badca08b26ea3fd0ad1d9284a8d92e6f0d89
sched_clock: prevent scd->clock from moving backwards

When sched_clock_cpu() couples the clocks between two cpus, it may
increment scd->clock beyond the GTOD tick window that __update_sched_clock()
uses to clamp the clock.  A later call to __update_sched_clock() may move
the clock back to scd->tick_gtod + TICK_NSEC, violating the clock's
monotonic property.

This patch ensures that scd->clock will not be set backward.

Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched_clock.c