* George Anzinger <george@mvista.com> wrote: > It seems to me that we need to either do the attached or to rewrite > the timer front end code to just gather the offset info and defer to > the timer irq thread to update jiffies and the offset stuff. In > either case we really can not split the two and we do need the > xtime_lock protection.
how about the patch below? One of the important benefits of the threaded timer IRQ is the ability to make xtime_lock a mutex. Ingo --- linux/arch/i386/kernel/time.c.orig2 +++ linux/arch/i386/kernel/time.c @@ -313,6 +313,7 @@ irqreturn_t timer_interrupt(int irq, voi write_seqlock(&xtime_lock); cur_timer->mark_offset(); + do_timer(regs); do_timer_interrupt(irq, NULL, regs); --- linux/include/asm-i386/mach-default/do_timer.h.orig2 +++ linux/include/asm-i386/mach-default/do_timer.h @@ -16,7 +16,6 @@ static inline void do_timer_interrupt_hook(struct pt_regs *regs) { - do_timer(regs); #ifndef CONFIG_SMP update_process_times(user_mode(regs)); #endif - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/