Messages in this thread Patch in this message |  | | Date | Tue, 29 Aug 2006 08:06:29 -0500 | | From | Nathan Lynch <> | | Subject | Re: Linux v2.6.18-rc5 |
| |
Hi Olaf-
Olaf Hering wrote: > On Sun, Aug 27, Linus Torvalds wrote: > > > Pls test it out, and please remind all the appropriate people about any > > regressions you find (including any found earlier if they haven't been > > addressed yet). > > > Nathan Lynch: > > [POWERPC] Fix gettimeofday inaccuracies > > Tested on B&W G3, iBook1 and a G4/466. > This patch causes deadlocks on ppc32, but not on ppc64. Have to verify > it on a vanilla kernel, but I'm sure there are no funky patches in > openSuSE. > > https://bugzilla.novell.com/show_bug.cgi?id=202146
Sorry about that, does this (a partial revert of the change) fix it for you?
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 18e59e4..fe9b1d9 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c @@ -655,7 +655,6 @@ void timer_interrupt(struct pt_regs * re int next_dec; int cpu = smp_processor_id(); unsigned long ticks; - u64 tb_next_jiffy; #ifdef CONFIG_PPC32 if (atomic_read(&ppc_n_lost_interrupts) != 0) @@ -697,14 +696,11 @@ void timer_interrupt(struct pt_regs * re continue; write_seqlock(&xtime_lock); - tb_next_jiffy = tb_last_jiffy + tb_ticks_per_jiffy; - if (per_cpu(last_jiffy, cpu) >= tb_next_jiffy) { - tb_last_jiffy = tb_next_jiffy; - tb_last_stamp = per_cpu(last_jiffy, cpu); - do_timer(regs); - timer_recalc_offset(tb_last_jiffy); - timer_check_rtc(); - } + tb_last_jiffy += tb_ticks_per_jiffy; + tb_last_stamp = per_cpu(last_jiffy, cpu); + do_timer(regs); + timer_recalc_offset(tb_last_jiffy); + timer_check_rtc(); write_sequnlock(&xtime_lock); } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |