HWPOISON: Allow schedule_on_each_cpu() from keventd
authorAndi Kleen <ak@linux.intel.com>
Wed, 14 Oct 2009 04:22:47 +0000 (06:22 +0200)
committerAndi Kleen <ak@linux.intel.com>
Mon, 19 Oct 2009 05:29:22 +0000 (07:29 +0200)
commit65a64464349883891e21e74af16c05d6e1eeb4e9
tree7b4744f01840c337506dbb24debe5e50ee76186e
parent5d5429af066b8896e903d829ac143711ed2c25f2
HWPOISON: Allow schedule_on_each_cpu() from keventd

Right now when calling schedule_on_each_cpu() from keventd there
is a deadlock because it tries to schedule a work item on the current CPU
too. This happens via lru_add_drain_all() in hwpoison.

Just call the function for the current CPU in this case. This is actually
faster too.

Debugging with Fengguang Wu & Max Asbock

Signed-off-by: Andi Kleen <ak@linux.intel.com>
kernel/workqueue.c