diff options
Diffstat (limited to 'arch/s390/kernel/time.c')
-rw-r--r-- | arch/s390/kernel/time.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index b94e9e3b694a..eccefbbff887 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c | |||
@@ -59,7 +59,7 @@ | |||
59 | 59 | ||
60 | static ext_int_info_t ext_int_info_cc; | 60 | static ext_int_info_t ext_int_info_cc; |
61 | static ext_int_info_t ext_int_etr_cc; | 61 | static ext_int_info_t ext_int_etr_cc; |
62 | static u64 jiffies_timer_cc; | 62 | static u64 sched_clock_base_cc; |
63 | 63 | ||
64 | static DEFINE_PER_CPU(struct clock_event_device, comparators); | 64 | static DEFINE_PER_CPU(struct clock_event_device, comparators); |
65 | 65 | ||
@@ -68,7 +68,7 @@ static DEFINE_PER_CPU(struct clock_event_device, comparators); | |||
68 | */ | 68 | */ |
69 | unsigned long long sched_clock(void) | 69 | unsigned long long sched_clock(void) |
70 | { | 70 | { |
71 | return ((get_clock_xt() - jiffies_timer_cc) * 125) >> 9; | 71 | return ((get_clock_xt() - sched_clock_base_cc) * 125) >> 9; |
72 | } | 72 | } |
73 | 73 | ||
74 | /* | 74 | /* |
@@ -229,13 +229,10 @@ static struct clocksource clocksource_tod = { | |||
229 | */ | 229 | */ |
230 | void __init time_init(void) | 230 | void __init time_init(void) |
231 | { | 231 | { |
232 | u64 init_timer_cc; | 232 | sched_clock_base_cc = reset_tod_clock(); |
233 | |||
234 | init_timer_cc = reset_tod_clock(); | ||
235 | jiffies_timer_cc = init_timer_cc - jiffies_64 * CLK_TICKS_PER_JIFFY; | ||
236 | 233 | ||
237 | /* set xtime */ | 234 | /* set xtime */ |
238 | tod_to_timeval(init_timer_cc - TOD_UNIX_EPOCH, &xtime); | 235 | tod_to_timeval(sched_clock_base_cc - TOD_UNIX_EPOCH, &xtime); |
239 | set_normalized_timespec(&wall_to_monotonic, | 236 | set_normalized_timespec(&wall_to_monotonic, |
240 | -xtime.tv_sec, -xtime.tv_nsec); | 237 | -xtime.tv_sec, -xtime.tv_nsec); |
241 | 238 | ||
@@ -289,7 +286,7 @@ static unsigned long long adjust_time(unsigned long long old, | |||
289 | delta = -delta; | 286 | delta = -delta; |
290 | adjust.offset = -ticks * (1000000 / HZ); | 287 | adjust.offset = -ticks * (1000000 / HZ); |
291 | } | 288 | } |
292 | jiffies_timer_cc += delta; | 289 | sched_clock_base_cc += delta; |
293 | if (adjust.offset != 0) { | 290 | if (adjust.offset != 0) { |
294 | printk(KERN_NOTICE "etr: time adjusted by %li micro-seconds\n", | 291 | printk(KERN_NOTICE "etr: time adjusted by %li micro-seconds\n", |
295 | adjust.offset); | 292 | adjust.offset); |