* 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/

Reply via email to