linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / s390 / kernel / irq.c
index 1eef509..480b6a5 100644 (file)
@@ -69,6 +69,10 @@ asmlinkage void do_softirq(void)
 
        local_irq_save(flags);
 
+       account_system_vtime(current);
+
+       local_bh_disable();
+
        if (local_softirq_pending()) {
                /* Get current stack pointer. */
                asm volatile("la %0,0(15)" : "=a" (old));
@@ -91,6 +95,10 @@ asmlinkage void do_softirq(void)
                        __do_softirq();
        }
 
+       account_system_vtime(current);
+
+       __local_bh_enable();
+
        local_irq_restore(flags);
 }