patch-2.4.3 linux/arch/ppc/kernel/time.c
Next file: linux/arch/ppc/kernel/traps.c
Previous file: linux/arch/ppc/kernel/syscalls.c
Back to the patch index
Back to the overall index
- Lines: 27
- Date:
Sat Mar 3 10:52:14 2001
- Orig file:
v2.4.2/linux/arch/ppc/kernel/time.c
- Orig date:
Sat Feb 3 19:51:23 2001
diff -u --recursive --new-file v2.4.2/linux/arch/ppc/kernel/time.c linux/arch/ppc/kernel/time.c
@@ -67,6 +67,8 @@
#include <asm/time.h>
+unsigned long disarm_decr[NR_CPUS];
+
#ifdef CONFIG_SMP
extern void smp_local_timer_interrupt(struct pt_regs *);
extern int smp_tb_synchronized;
@@ -147,7 +149,6 @@
if (!user_mode(regs))
ppc_do_profile(instruction_pointer(regs));
-
do {
jiffy_stamp += tb_ticks_per_jiffy;
if (smp_processor_id()) continue;
@@ -184,7 +185,8 @@
}
write_unlock(&xtime_lock);
} while((next_dec = tb_ticks_per_jiffy - tb_delta(&jiffy_stamp)) < 0);
- set_dec(next_dec);
+ if ( !disarm_decr[smp_processor_id()] )
+ set_dec(next_dec);
last_jiffy_stamp(cpu) = jiffy_stamp;
#ifdef CONFIG_SMP
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)