generic ipi function calls: wait on alloc failure fallback
authorJeremy Fitzhardinge <jeremy@goop.org>
Tue, 15 Jul 2008 20:22:49 +0000 (13:22 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 15 Jul 2008 21:12:20 +0000 (14:12 -0700)
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>
kernel/smp.c

index ab10793b0707d6ced7f0d4fe91328200d747bbfd..462c785ca1eee80dea958541edf19786259c88e6 100644 (file)
@@ -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);