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>
This commit is contained in:

committed by
Thomas Gleixner

parent
75c5158f70
commit
d4f587c67f
@@ -769,7 +769,7 @@ int update_persistent_clock(struct timespec now)
|
||||
return ppc_md.set_rtc_time(&tm);
|
||||
}
|
||||
|
||||
unsigned long read_persistent_clock(void)
|
||||
void read_persistent_clock(struct timespec *ts)
|
||||
{
|
||||
struct rtc_time tm;
|
||||
static int first = 1;
|
||||
@@ -787,8 +787,9 @@ unsigned long read_persistent_clock(void)
|
||||
if (!ppc_md.get_rtc_time)
|
||||
return 0;
|
||||
ppc_md.get_rtc_time(&tm);
|
||||
return mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
|
||||
tm.tm_hour, tm.tm_min, tm.tm_sec);
|
||||
ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
|
||||
tm.tm_hour, tm.tm_min, tm.tm_sec);
|
||||
ts->tv_nsec = 0;
|
||||
}
|
||||
|
||||
/* clocksource code */
|
||||
|
Reference in New Issue
Block a user