Re: [PATCH 0/3] core: fix build error when referencing arch specific structures

Andrew Morton
2007-09-07T10:56:32Z

> On Fri, 7 Sep 2007 08:28:05 +0100 Andi Kleen <ak@suse.de> wrote:
> On Friday 07 September 2007 05:09, travis@sgi.com wrote:
> > Since the core kernel routines need to reference cpu_sibling_map,
> > whether it be a static array or a per_cpu data variable, an access
> > function has been defined.
> >
> > In addition, changes have been made to the ia64 and ppc64 arch's to
> > move the cpu_sibling_map from a static cpumask_t array [NR_CPUS] to
> > be per_cpu cpumask_t arrays.
> >
> > Note that I do not have the ability to build or test patch 3/3, the
> > ppc64 changes.
> >
> > Patches are referenced against 2.6.23-rc4-mm1 .
>
> It would be better if you could redo the patches with the original patches
> reverted, not incremental changes. In the end we'll need a full patch set
> with full changelog anyways, not a series of incremental fixes.

yup

> Also I guess some powerpc testers would be needed. Perhaps cc the
> maintainers?
>

yup

All architectures except sparc64 are now done - please have a shot at doing
sparc64 as well.

I'd suggest that we not implement that cpu_sibling_map() macro and just
open-code the per_cpu() everywhere. So henceforth any architecture which
implements CONFIG_SCHED_SMT must implement the per-cpu sibling map.

That's nice and simple, and avoids the unpleasant
pretend-function-used-as-an-lvalue trick. (Well OK, per_cpu() does
that, but let's avoid resinning).