Re: [PATCH 1/2 #tj-percpu] x86: fix build breakage on voyage

Tejun Heo
2009-01-27T11:47:20Z

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.

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?

Thanks.

--
tejun