git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
arch
/
s390
/
kernel
/
irq.c
diff --git
a/arch/s390/kernel/irq.c
b/arch/s390/kernel/irq.c
index
79a4222
..
59bfcea
100644
(file)
--- a/
arch/s390/kernel/irq.c
+++ b/
arch/s390/kernel/irq.c
@@
-71,6
+71,10
@@
asmlinkage void do_softirq(void)
local_irq_save(flags);
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));
if (local_softirq_pending()) {
/* Get current stack pointer. */
asm volatile("la %0,0(15)" : "=a" (old));
@@
-86,13
+90,17
@@
asmlinkage void do_softirq(void)
" la 15,0(%1)\n"
: : "a" (new), "a" (old),
"a" (__do_softirq)
" 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();
}
"cc", "memory" );
} else
/* We are already on the async stack. */
__do_softirq();
}
+ account_system_vtime(current);
+
+ __local_bh_enable();
+
local_irq_restore(flags);
}
local_irq_restore(flags);
}