cpumask: Partition_sched_domains takes array of cpumask_var_t
authorRusty Russell <rusty@rustcorp.com.au>
Tue, 3 Nov 2009 04:23:40 +0000 (14:23 +1030)
committerIngo Molnar <mingo@elte.hu>
Wed, 4 Nov 2009 12:16:40 +0000 (13:16 +0100)
commitacc3f5d7cabbfd6cec71f0c1f9900621fa2d6ae7
tree672ed45f6df2f52e8f3cced2ee11ad29a1533890
parente2c880630438f80b474378d5487b511b07665051
cpumask: Partition_sched_domains takes array of cpumask_var_t

Currently partition_sched_domains() takes a 'struct cpumask
*doms_new' which is a kmalloc'ed array of cpumask_t.  You can't
have such an array if 'struct cpumask' is undefined, as we plan
for CONFIG_CPUMASK_OFFSTACK=y.

So, we make this an array of cpumask_var_t instead: this is the
same for the CONFIG_CPUMASK_OFFSTACK=n case, but requires
multiple allocations for the CONFIG_CPUMASK_OFFSTACK=y case.
Hence we add alloc_sched_domains() and free_sched_domains()
functions.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <200911031453.40668.rusty@rustcorp.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/sched.h
kernel/cpuset.c
kernel/sched.c