diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-08-14 09:47:31 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-08-15 04:55:46 -0400 |
commit | d4f587c67fc39e0030ddd718675e252e208da4d7 (patch) | |
tree | 2222681c57966cc6b8404afdff3ab1a09ac7ea69 /arch/x86 | |
parent | 75c5158f70c065b9704b924503d96e8297838f79 (diff) |
timekeeping: Increase granularity of read_persistent_clock()
The persistent clock of some architectures (e.g. s390) have a
better granularity than seconds. To reduce the delta between the
host clock and the guest clock in a virtualized system change the
read_persistent_clock function to return a struct timespec.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Daniel Walker <dwalker@fifo99.com>
LKML-Reference: <20090814134811.013873340@de.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/rtc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c index 5d465b207e72..bf67dcb4a44c 100644 --- a/arch/x86/kernel/rtc.c +++ b/arch/x86/kernel/rtc.c | |||
@@ -178,7 +178,7 @@ static int set_rtc_mmss(unsigned long nowtime) | |||
178 | } | 178 | } |
179 | 179 | ||
180 | /* not static: needed by APM */ | 180 | /* not static: needed by APM */ |
181 | unsigned long read_persistent_clock(void) | 181 | void read_persistent_clock(struct timespec *ts) |
182 | { | 182 | { |
183 | unsigned long retval, flags; | 183 | unsigned long retval, flags; |
184 | 184 | ||
@@ -186,7 +186,8 @@ unsigned long read_persistent_clock(void) | |||
186 | retval = get_wallclock(); | 186 | retval = get_wallclock(); |
187 | spin_unlock_irqrestore(&rtc_lock, flags); | 187 | spin_unlock_irqrestore(&rtc_lock, flags); |
188 | 188 | ||
189 | return retval; | 189 | ts->tv_sec = retval; |
190 | ts->tv_nsec = 0; | ||
190 | } | 191 | } |
191 | 192 | ||
192 | int update_persistent_clock(struct timespec now) | 193 | int update_persistent_clock(struct timespec now) |