From: Greg Banks cpumask: ensure that the cpu_online_map and cpu_possible_map bitmasks, and hence all the macros in that require them, are available to modules for all supported combinations of architecture and CONFIG_SMP. Signed-off-by: Greg Banks Signed-off-by: Andrew Morton --- diff -puN arch/arm/kernel/smp.c~cpumask-export-cpu_online_map-and-cpu_possible_map arch/arm/kernel/smp.c --- a/arch/arm/kernel/smp.c~cpumask-export-cpu_online_map-and-cpu_possible_map +++ a/arch/arm/kernel/smp.c @@ -36,7 +36,9 @@ * The online bitmask indicates that the CPU is up and running. */ cpumask_t cpu_possible_map; +EXPORT_SYMBOL(cpu_possible_map); cpumask_t cpu_online_map; +EXPORT_SYMBOL(cpu_online_map); /* * as from 2.5, kernels no longer have an init_tasks structure diff -puN arch/cris/arch-v32/kernel/smp.c~cpumask-export-cpu_online_map-and-cpu_possible_map arch/cris/arch-v32/kernel/smp.c --- a/arch/cris/arch-v32/kernel/smp.c~cpumask-export-cpu_online_map-and-cpu_possible_map +++ a/arch/cris/arch-v32/kernel/smp.c @@ -28,6 +28,7 @@ spinlock_t cris_atomic_locks[] = { [0 .. /* CPU masks */ cpumask_t cpu_online_map = CPU_MASK_NONE; +EXPORT_SYMBOL(cpu_online_map); cpumask_t phys_cpu_present_map = CPU_MASK_NONE; EXPORT_SYMBOL(phys_cpu_present_map); diff -puN arch/sh/kernel/smp.c~cpumask-export-cpu_online_map-and-cpu_possible_map arch/sh/kernel/smp.c --- a/arch/sh/kernel/smp.c~cpumask-export-cpu_online_map-and-cpu_possible_map +++ a/arch/sh/kernel/smp.c @@ -42,6 +42,7 @@ cpumask_t cpu_possible_map; EXPORT_SYMBOL(cpu_possible_map); cpumask_t cpu_online_map; +EXPORT_SYMBOL(cpu_online_map); static atomic_t cpus_booted = ATOMIC_INIT(0); /* These are defined by the board-specific code. */ diff -puN kernel/sched.c~cpumask-export-cpu_online_map-and-cpu_possible_map kernel/sched.c --- a/kernel/sched.c~cpumask-export-cpu_online_map-and-cpu_possible_map +++ a/kernel/sched.c @@ -4347,7 +4347,10 @@ EXPORT_SYMBOL(cpu_present_map); #ifndef CONFIG_SMP cpumask_t cpu_online_map __read_mostly = CPU_MASK_ALL; +EXPORT_SYMBOL(cpu_online_map); + cpumask_t cpu_possible_map __read_mostly = CPU_MASK_ALL; +EXPORT_SYMBOL(cpu_possible_map); #endif long sched_getaffinity(pid_t pid, cpumask_t *mask) _