aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2014-07-16 17:05:16 -0400
committerJohn Stultz <john.stultz@linaro.org>2014-07-23 18:01:53 -0400
commitd28ede83791defee9a81e558540699dc46dbbe13 (patch)
tree40df9738db287097241fe25493df982ee33b046f /arch/arm64
parent6d3aadf3e180e09dbefab16478c6876b584ce16e (diff)
timekeeping: Create struct tk_read_base and use it in struct timekeeper
The members of the new struct are the required ones for the new NMI safe accessor to clcok monotonic. In order to reuse the existing timekeeping code and to make the update of the fast NMI safe timekeepers a simple memcpy use the struct for the timekeeper as well and convert all users. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'arch/arm64')
-rw-r--r--arch/arm64/kernel/vdso.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/arm64/kernel/vdso.c b/arch/arm64/kernel/vdso.c
index 574672f001f7..8296f7f5f0ba 100644
--- a/arch/arm64/kernel/vdso.c
+++ b/arch/arm64/kernel/vdso.c
@@ -211,7 +211,7 @@ struct vm_area_struct *get_gate_vma(struct mm_struct *mm)
211void update_vsyscall(struct timekeeper *tk) 211void update_vsyscall(struct timekeeper *tk)
212{ 212{
213 struct timespec xtime_coarse; 213 struct timespec xtime_coarse;
214 u32 use_syscall = strcmp(tk->clock->name, "arch_sys_counter"); 214 u32 use_syscall = strcmp(tk->tkr.clock->name, "arch_sys_counter");
215 215
216 ++vdso_data->tb_seq_count; 216 ++vdso_data->tb_seq_count;
217 smp_wmb(); 217 smp_wmb();
@@ -224,11 +224,11 @@ void update_vsyscall(struct timekeeper *tk)
224 vdso_data->wtm_clock_nsec = tk->wall_to_monotonic.tv_nsec; 224 vdso_data->wtm_clock_nsec = tk->wall_to_monotonic.tv_nsec;
225 225
226 if (!use_syscall) { 226 if (!use_syscall) {
227 vdso_data->cs_cycle_last = tk->cycle_last; 227 vdso_data->cs_cycle_last = tk->tkr.cycle_last;
228 vdso_data->xtime_clock_sec = tk->xtime_sec; 228 vdso_data->xtime_clock_sec = tk->xtime_sec;
229 vdso_data->xtime_clock_nsec = tk->xtime_nsec; 229 vdso_data->xtime_clock_nsec = tk->tkr.xtime_nsec;
230 vdso_data->cs_mult = tk->mult; 230 vdso_data->cs_mult = tk->tkr.mult;
231 vdso_data->cs_shift = tk->shift; 231 vdso_data->cs_shift = tk->tkr.shift;
232 } 232 }
233 233
234 smp_wmb(); 234 smp_wmb();