X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=arch%2Fs390%2Fkernel%2Ftime.c;h=fea043b69b913953c95d5c9ab97307d26e0083c5;hb=17be03f0a1f42ccfccb38f7d0a94c0f0169634a6;hp=c36353e8c1404b22ae5dfbd8f0b0bd8f1a8214b8;hpb=f24e09754bcb4d367664ea635c0c4ccde6ec4df5;p=powerpc.git diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index c36353e8c1..fea043b69b 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c @@ -61,9 +61,18 @@ extern unsigned long wall_jiffies; */ unsigned long long sched_clock(void) { - return ((get_clock() - jiffies_timer_cc) * 1000) >> 12; + return ((get_clock() - jiffies_timer_cc) * 125) >> 9; } +/* + * Monotonic_clock - returns # of nanoseconds passed since time_init() + */ +unsigned long long monotonic_clock(void) +{ + return sched_clock(); +} +EXPORT_SYMBOL(monotonic_clock); + void tod_to_timeval(__u64 todval, struct timespec *xtime) { unsigned long long sec; @@ -214,7 +223,7 @@ void account_ticks(struct pt_regs *regs) #endif #ifdef CONFIG_VIRT_CPU_ACCOUNTING - account_user_vtime(current); + account_tick_vtime(current); #else while (ticks--) update_process_times(user_mode(regs)); @@ -282,7 +291,7 @@ static inline void start_hz_timer(void) { if (!cpu_isset(smp_processor_id(), nohz_cpu_mask)) return; - account_ticks(__KSTK_PTREGS(current)); + account_ticks(task_pt_regs(current)); cpu_clear(smp_processor_id(), nohz_cpu_mask); }