update_process_times was missing its irq_enter/irq_exit wrapper.  This caused
ksoftirqd to be scheduled on every clock tick.

Signed-off-by: Jeff Dike <[EMAIL PROTECTED]>

Index: linux-2.6.12-rc3-mm2/arch/um/kernel/time_kern.c
===================================================================
--- linux-2.6.12-rc3-mm2.orig/arch/um/kernel/time_kern.c        2005-07-28 
11:06:35.000000000 -0400
+++ linux-2.6.12-rc3-mm2/arch/um/kernel/time_kern.c     2005-07-28 
11:26:17.000000000 -0400
@@ -137,7 +137,10 @@
 void timer_handler(int sig, union uml_pt_regs *regs)
 {
        local_irq_disable();
-       update_process_times(CHOOSE_MODE(user_context(UPT_SP(regs)), 
(regs)->skas.is_user));
+       irq_enter();
+       update_process_times(CHOOSE_MODE(user_context(UPT_SP(regs)), 
+                                        (regs)->skas.is_user));
+       irq_exit();
        local_irq_enable();
        if(current_thread->cpu == 0)
                timer_irq(regs);



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September
19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to