Messages in this thread | | | From | Rusty Russell <> | Subject | [PATCH 0/6] Final cpumask conversion patches for 4096+ cpus | Date | Thu, 19 Nov 2009 19:28:37 +1030 |
| |
Finally, these 6 patches actually allocate short (nr_cpu_ids-bits) cpumasks and nail down the lid so the compiler will find new abuses if they creep in.
For non-CONFIG_CPUMASK_OFFSTACK: The only visible changes are that you have to use the accessors mm_cpumask() and tsk_cpumask. They convert the bitmaps (moved to the end of those structs) to 'struct cpumask *'.
For CONFIG_CPUMASK_OFFSTACK=y: We allocate the mm and task_struct bitmaps short (nr_cpu_ids, rather than the compile-time NR_CPUS). A couple of patches get rid of the old-style cpus_ ops so noone uses them accidentally. We don't define struct cpumask at all, which prevents accidental abuse. Finally, we reduce cpumask_size() so our dynamically-allocated cpumasks are only nr_cpu_ids big.
Cheers, Rusty.
| |