sched_clock: prevent scd->clock from moving backwards, take #2
authorThomas Gleixner <tglx@linutronix.de>
Mon, 22 Dec 2008 22:05:28 +0000 (23:05 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 31 Dec 2008 08:53:21 +0000 (09:53 +0100)
commit1c5745aa380efb6417b5681104b007c8612fb496
tree263b81742f7973c0dd86efe414a79a324c0769e4
parent6a94cb73064c952255336cc57731904174b2c58f
sched_clock: prevent scd->clock from moving backwards, take #2

Redo:

  5b7dba4: sched_clock: prevent scd->clock from moving backwards

which had to be reverted due to s2ram hangs:

  ca7e716: Revert "sched_clock: prevent scd->clock from moving backwards"

... this time with resume restoring GTOD later in the sequence
taken into account as well.

The "timekeeping_suspended" flag is not very nice but we cannot call into
GTOD before it has been properly resumed and the scheduler will run very
early in the resume sequence.

Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/time.h
kernel/sched_clock.c
kernel/time/timekeeping.c