• Mike Travis's avatar
    cpumask: make cpumask_of_cpu_map generic · b8d317d1
    Mike Travis authored
    If an arch doesn't define cpumask_of_cpu_map, create a generic
    statically-initialized one for them.  This allows removal of the buggy
    cpumask_of_cpu() macro (&cpumask_of_cpu() gives address of
    out-of-scope var).
    
    An arch with NR_CPUS of 4096 probably wants to allocate this itself
    based on the actual number of CPUs, since otherwise they're using 2MB
    of rodata (1024 cpus means 128k).  That's what
    CONFIG_HAVE_CPUMASK_OF_CPU_MAP is for (only x86/64 does so at the
    moment).
    
    In future as we support more CPUs, we'll need to resort to a
    get_cpu_map()/put_cpu_map() allocation scheme.
    Signed-off-by: default avatarMike Travis <travis@sgi.com>
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Jack Steiner <steiner@sgi.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    b8d317d1
cpu.c 14.1 KB