Re: x86: Convert cpu_core_map to be a per cpu variable

From: Christoph Lameter
Date: Fri Jul 13 2007 - 12:34:22 EST


On Fri, 13 Jul 2007, David Miller wrote:

> From: Christoph Lameter <clameter@xxxxxxx>
> Date: Thu, 12 Jul 2007 23:58:06 -0700 (PDT)
>
> > cpu_core_map is currently an array defined using NR_CPUS. This means that
> > we overallocate since we will rarely really use the maximum
> > number of configured cpus. This may become a problem when we need to
> > increase the NR_CPUs on x86_64 for our new product line.
>
> I'm using NR_CPUS set to 1024 on my sparc64 workstation, it's
> not that bad to be honest :-) What kind of cpu arity are you
> talking about?

Up to 16k.

> > If we put the cpu_core_map into the per cpu area then it will be allocated
> > for each processor as it comes online.
> >
> > However, this means that the core map cannot be accessed until the per cpu
> > area has been allocated. Xen does a weird thing here looping over all
> > processors and zeroing the masks that are not yet allocated and that will
> > be zeroed when they are allocated. I commented the code out. Maybe there
> > is another purpose? Jeremy?
> >
> > Signed-off-by: Christoph Lameter <clameter@xxxxxxx>
>
> Please take care of sparc64 if you're going to do this change.
> It uses cpu_core_map too.

But the code modified here is x86_64 and i386 specific? Is there an
overlap?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/