|
@@ -199,16 +199,15 @@ up_fail:
|
|
|
*/
|
|
|
void update_vsyscall(struct timekeeper *tk)
|
|
|
{
|
|
|
- struct timespec xtime_coarse;
|
|
|
u32 use_syscall = strcmp(tk->tkr_mono.clock->name, "arch_sys_counter");
|
|
|
|
|
|
++vdso_data->tb_seq_count;
|
|
|
smp_wmb();
|
|
|
|
|
|
- xtime_coarse = __current_kernel_time();
|
|
|
vdso_data->use_syscall = use_syscall;
|
|
|
- vdso_data->xtime_coarse_sec = xtime_coarse.tv_sec;
|
|
|
- vdso_data->xtime_coarse_nsec = xtime_coarse.tv_nsec;
|
|
|
+ vdso_data->xtime_coarse_sec = tk->xtime_sec;
|
|
|
+ vdso_data->xtime_coarse_nsec = tk->tkr_mono.xtime_nsec >>
|
|
|
+ tk->tkr_mono.shift;
|
|
|
vdso_data->wtm_clock_sec = tk->wall_to_monotonic.tv_sec;
|
|
|
vdso_data->wtm_clock_nsec = tk->wall_to_monotonic.tv_nsec;
|
|
|
|