projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
ksoftirqd: Enable IRQs and call cond_resched() before poking RCU
[linux-2.6-block.git]
/
kernel
/
softirq.c
diff --git
a/kernel/softirq.c
b/kernel/softirq.c
index 501baa9ac1be3ac37b1a7f7e1204aea2d5456971..c497fcdf0d1e672230a7bd941a4b6de9c22b6204 100644
(file)
--- a/
kernel/softirq.c
+++ b/
kernel/softirq.c
@@
-656,9
+656,13
@@
static void run_ksoftirqd(unsigned int cpu)
* in the task stack here.
*/
__do_softirq();
- rcu_note_context_switch();
local_irq_enable();
cond_resched();
+
+ preempt_disable();
+ rcu_note_context_switch();
+ preempt_enable();
+
return;
}
local_irq_enable();