1
0
Files
linux/kernel
Rusty Russell 54b11e6d57 cpumask: smp_call_function_many()
Impact: Implementation change to remove cpumask_t from stack.

Actually change smp_call_function_mask() to smp_call_function_many().
We avoid cpumasks on the stack in this version.

(S390 has its own version, but that's going away apparently).

We have to do some dancing to figure out if 0 or 1 other cpus are in
the mask supplied and the online mask without allocating a tmp
cpumask.  It's still fairly cheap.

We allocate the cpumask at the end of the call_function_data
structure: if allocation fails we fallback to smp_call_function_single
rather than using the baroque quiescing code (which needs a cpumask on
stack).

(Thanks to Hiroshi Shimamoto for spotting several bugs in previous versions!)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Mike Travis <travis@sgi.com>
Cc: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Cc: npiggin@suse.de
Cc: axboe@kernel.dk
2008-12-30 09:05:16 +10:30
..
2008-12-25 11:40:09 +11:00
2008-11-14 10:39:23 +11:00
2008-12-25 11:40:09 +11:00
2008-11-24 18:57:41 -05:00
2008-10-16 11:21:30 -07:00
2008-09-14 16:25:35 +02:00
2008-07-28 14:37:38 +02:00
2008-11-14 10:39:23 +11:00
2008-12-10 08:01:54 -08:00
2008-08-13 12:55:10 +02:00
2008-12-01 19:55:24 -08:00
2008-09-02 19:21:40 -07:00
2008-10-21 15:59:53 +02:00
2008-12-16 09:46:33 +01:00
2008-11-05 10:30:14 +01:00
2008-12-30 09:05:16 +10:30
2008-11-19 18:49:57 -08:00
2008-11-24 18:57:41 -05:00
2008-07-25 10:53:45 -07:00
2008-11-14 11:29:12 +11:00
2008-10-16 11:21:47 -07:00
2008-10-16 11:21:31 -07:00
2008-11-14 11:29:12 +11:00