patch-2.4.13 linux/arch/s390/kernel/time.c
Next file: linux/arch/s390/kernel/traps.c
Previous file: linux/arch/s390/kernel/smp.c
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
Thu Oct 11 09:04:57 2001
- Orig file:
v2.4.12/linux/arch/s390/kernel/time.c
- Orig date:
Sun Aug 12 13:27:58 2001
diff -u --recursive --new-file v2.4.12/linux/arch/s390/kernel/time.c linux/arch/s390/kernel/time.c
@@ -151,15 +151,14 @@
void do_timer_interrupt(struct pt_regs *regs, __u16 error_code)
{
- unsigned long flags;
+ int cpu = smp_processor_id();
+
+ irq_enter(cpu, 0);
/*
* reset timer to 10ms minus time already elapsed
* since timer-interrupt pending
*/
-
- save_flags(flags);
- cli();
#ifdef CONFIG_SMP
if(S390_lowcore.cpu_data.cpu_addr==boot_cpu_addr) {
write_lock(&xtime_lock);
@@ -195,8 +194,8 @@
write_unlock(&xtime_lock);
#endif
}
- restore_flags(flags);
+ irq_exit(cpu, 0);
}
/*
@@ -250,4 +249,7 @@
init_timer_cc -= 0x8126d60e46000000LL -
(0x3c26700LL*1000000*4096);
tod_to_timeval(init_timer_cc, &xtime);
+
+ /* Set do_get_fast_time function pointer. */
+ do_get_fast_time = do_gettimeofday;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)