Re: Voyager phys_cpu_present_map compile error

James Bottomley
2008-04-21T21:57:25Z

On Mon, 2008-04-21 at 22:14 +0200, Ingo Molnar wrote:
> * Adrian Bunk <bunk@kernel.org> wrote:
>
> > > +#ifndef CONFIG_X86_VOYAGER
> > > /* Bitmask of physically existing CPUs */
> > > physid_mask_t phys_cpu_present_map;
> > > +#endif
> > >...
> >
> > Alexey noted that phys_cpu_present_map for Voyager and !Voyager also
> > have different types and suggested to make the Voyager one static
> > instead (additional renaming of the Voyager one also makes sense).
>
> yep, done by the patch below.

Hang on; this doesn't looks like such a good idea. Why don't the
definitions match? CPU type maps are supposed to be of type cpumask_t,
so why bother reinventing a physid_mask_t which is essentially a cut and
paste cpumask_t but on MAX_APICS instead of NR_CPUS ... surely we don't
have to have that duplication ... particularly as m32r has gone and
copied your definitions.

I'm guessing you want large sparse phys maps and smaller logical cpumaps
(although I'm not clear which archs can have a greater physical id than
they support as cpus)? In which case, it still makes sense for this to
be generic, using similar code in linux/cpumask.h to avoid further
duplication?

James