Commit 8ab4351a4c888016620f43bde605b3d0964af339
Committed by
Thomas Gleixner
1 parent
9f31f57749
Exists in
master
and in
7 other branches
hrtimer: Cleanup direct access to wall_to_monotonic
Provides an accessor function to replace hrtimer.c's direct access of wall_to_monotonic. This will allow wall_to_monotonic to be made static as planned in Documentation/feature-removal-schedule.txt Signed-off-by: John Stultz <johnstul@us.ibm.com> LKML-Reference: <1279068988-21864-9-git-send-email-johnstul@us.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Showing 3 changed files with 11 additions and 6 deletions Side-by-side Diff
include/linux/time.h
... | ... | @@ -126,7 +126,8 @@ |
126 | 126 | |
127 | 127 | unsigned long get_seconds(void); |
128 | 128 | struct timespec current_kernel_time(void); |
129 | -struct timespec __current_kernel_time(void); /* does not hold xtime_lock */ | |
129 | +struct timespec __current_kernel_time(void); /* does not take xtime_lock */ | |
130 | +struct timespec __get_wall_to_monotonic(void); /* does not take xtime_lock */ | |
130 | 131 | struct timespec get_monotonic_coarse(void); |
131 | 132 | |
132 | 133 | #define CURRENT_TIME (current_kernel_time()) |
kernel/hrtimer.c
... | ... | @@ -90,7 +90,7 @@ |
90 | 90 | do { |
91 | 91 | seq = read_seqbegin(&xtime_lock); |
92 | 92 | xts = __current_kernel_time(); |
93 | - tom = wall_to_monotonic; | |
93 | + tom = __get_wall_to_monotonic(); | |
94 | 94 | } while (read_seqretry(&xtime_lock, seq)); |
95 | 95 | |
96 | 96 | xtim = timespec_to_ktime(xts); |
... | ... | @@ -612,7 +612,7 @@ |
612 | 612 | static void retrigger_next_event(void *arg) |
613 | 613 | { |
614 | 614 | struct hrtimer_cpu_base *base; |
615 | - struct timespec realtime_offset; | |
615 | + struct timespec realtime_offset, wtm; | |
616 | 616 | unsigned long seq; |
617 | 617 | |
618 | 618 | if (!hrtimer_hres_active()) |
619 | 619 | |
... | ... | @@ -620,10 +620,9 @@ |
620 | 620 | |
621 | 621 | do { |
622 | 622 | seq = read_seqbegin(&xtime_lock); |
623 | - set_normalized_timespec(&realtime_offset, | |
624 | - -wall_to_monotonic.tv_sec, | |
625 | - -wall_to_monotonic.tv_nsec); | |
623 | + wtm = __get_wall_to_monotonic(); | |
626 | 624 | } while (read_seqretry(&xtime_lock, seq)); |
625 | + set_normalized_timespec(&realtime_offset, -wtm.tv_sec, -wtm.tv_nsec); | |
627 | 626 | |
628 | 627 | base = &__get_cpu_var(hrtimer_bases); |
629 | 628 |
kernel/time/timekeeping.c