Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / arch / s390 / kernel / irq.c
index 79a4222..480b6a5 100644 (file)
@@ -25,9 +25,8 @@ int show_interrupts(struct seq_file *p, void *v)
 
        if (i == 0) {
                seq_puts(p, "           ");
-               for (j=0; j<NR_CPUS; j++)
-                       if (cpu_online(j))
-                               seq_printf(p, "CPU%d       ",j);
+               for_each_online_cpu(j)
+                       seq_printf(p, "CPU%d       ",j);
                seq_putc(p, '\n');
        }
 
@@ -36,9 +35,8 @@ int show_interrupts(struct seq_file *p, void *v)
 #ifndef CONFIG_SMP
                seq_printf(p, "%10u ", kstat_irqs(i));
 #else
-               for (j = 0; j < NR_CPUS; j++)
-                       if (cpu_online(j))
-                               seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]);
+               for_each_online_cpu(j)
+                       seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]);
 #endif
                 seq_putc(p, '\n');
 
@@ -71,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));
@@ -86,13 +88,17 @@ asmlinkage void do_softirq(void)
                                     "   la    15,0(%1)\n"
                                     : : "a" (new), "a" (old),
                                         "a" (__do_softirq)
-                                    : "0", "1", "2", "3", "4", "5",
+                                    : "0", "1", "2", "3", "4", "5", "14",
                                       "cc", "memory" );
                } else
                        /* We are already on the async stack. */
                        __do_softirq();
        }
 
+       account_system_vtime(current);
+
+       __local_bh_enable();
+
        local_irq_restore(flags);
 }