|
@@ -260,7 +260,6 @@ void update_vsyscall_tz(void)
|
|
|
|
|
|
void update_vsyscall(struct timekeeper *tk)
|
|
|
{
|
|
|
- struct timespec wall_time = tk_xtime(tk);
|
|
|
struct timespec *wtm = &tk->wall_to_monotonic;
|
|
|
struct clocksource *clock = tk->clock;
|
|
|
|
|
@@ -271,12 +270,12 @@ void update_vsyscall(struct timekeeper *tk)
|
|
|
++vdso_data->tb_update_count;
|
|
|
smp_wmb();
|
|
|
vdso_data->xtime_tod_stamp = clock->cycle_last;
|
|
|
- vdso_data->xtime_clock_sec = wall_time.tv_sec;
|
|
|
- vdso_data->xtime_clock_nsec = wall_time.tv_nsec;
|
|
|
+ vdso_data->xtime_clock_sec = tk->xtime_sec;
|
|
|
+ vdso_data->xtime_clock_nsec = tk->xtime_nsec;
|
|
|
vdso_data->wtom_clock_sec = wtm->tv_sec;
|
|
|
vdso_data->wtom_clock_nsec = wtm->tv_nsec;
|
|
|
- vdso_data->mult = clock->mult;
|
|
|
- vdso_data->shift = clock->shift;
|
|
|
+ vdso_data->mult = tk->mult;
|
|
|
+ vdso_data->shift = tk->shift;
|
|
|
smp_wmb();
|
|
|
++vdso_data->tb_update_count;
|
|
|
}
|