diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-07-15 13:22:49 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-15 14:12:20 -0700 |
commit | 63cf13b77ab785e87c867defa8545e6d4a989774 (patch) | |
tree | b71d0a77a59f58f90de9d24d3ecaf6f4eab67fca /kernel/smp.c | |
parent | 59190f4213462f191fc0d22d39b1cf18ea39ca39 (diff) | |
download | talos-op-linux-63cf13b77ab785e87c867defa8545e6d4a989774.tar.gz talos-op-linux-63cf13b77ab785e87c867defa8545e6d4a989774.zip |
generic ipi function calls: wait on alloc failure fallback
When a GFP_ATOMIC allocation fails, it falls back to allocating the
data on the stack and converting it to a waiting call.
Make sure we actually wait in this case.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/smp.c')
-rw-r--r-- | kernel/smp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/smp.c b/kernel/smp.c index ab10793b0707..462c785ca1ee 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -312,6 +312,7 @@ int smp_call_function_mask(cpumask_t mask, void (*func)(void *), void *info, if (!data) { data = &d; data->csd.flags = CSD_FLAG_WAIT; + wait = 1; } spin_lock_init(&data->lock); |