lkml.org 
[lkml]   [2009]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/2 #tj-percpu] x86: fix build breakage on voyage
From
Date
On Tue, 2009-01-27 at 20:47 +0900, Tejun Heo wrote:
> Hello, Ingo.
>
> Ingo Molnar wrote:
> >> +#ifdef CONFIG_X86_LOCAL_APIC
> >> early_per_cpu_ptr(x86_cpu_to_apicid) = NULL;
> >> early_per_cpu_ptr(x86_bios_cpu_apicid) = NULL;
> >> +#endif
> >
> > That patch is not acceptable - it is ugly and it adds another set of
> > #ifdefs to an already complex piece of code.
>
> Well, although the patch itself does add #ifdef, if you look over the
> whole series, voyager is now a much more conforming citizen in the x86
> world. There are several solutions to this particular one.
>
> 1. Just let apic stuff defined and not use it in voyager if the ifdef
> is disturbing. IIUC, apic isn't used in voyager at all, right?
>
> 2. Clean up early percpu stuff so that it each early percpu variable
> doesn't need to be explicitly copied and cleared, which is the
> actual problem here.

Right ... there's a variant of this where the copying and clearing is
done within the actual file that defines the variable (i.e. a hook
approach).

> 3. But, then again, the current interim and ugly way of doing it isn't
> too bad considering the small number of early per cpu users.
>
> To me the current form doesn't look too bad but if it's too ugly,
> maybe doing #2 is not such a bad idea such that early percpu can be
> transferred to percpu in more systematic way. It still feels a bit
> like overdoing it tho.
>
> What do you think?

What's the actual goal of setup_percpu.c? To have a single location for
all the per_cpu initialisation? If so then it's hard to get away from
all the ifdefs. If there are alternative ways of arranging the file
then I think splitting some of the conditional pieces into other files
would work.

James




\
 
 \ /
  Last update: 2009-01-27 16:37    [W:0.063 / U:0.156 seconds]
©2003-2014 Jasper Spaans. Advertise on this site