Re: next-20081030: voyager compile busted

From: Ingo Molnar
Date: Thu Oct 30 2008 - 16:52:56 EST



* James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:

> On Thu, 2008-10-30 at 21:03 +0300, Alexey Dobriyan wrote:
> > On i386-voyager:
> >
> > Using /src/linux-1 as source for kernel
> > GEN /src/build/i386-voyager/Makefile
> > CHK include/linux/version.h
> > CHK include/linux/utsrelease.h
> > SYMLINK include/asm -> include/asm-x86
> > CALL scripts/checksyscalls.sh
> > CHK include/linux/compile.h
> > CC arch/x86/kernel/tsc.o
> > arch/x86/kernel/tsc.c: In function 'unsynchronized_tsc':
> > arch/x86/kernel/tsc.c:763: error: implicit declaration of function 'apic_is_clustered_box'
> > make[2]: *** [arch/x86/kernel/tsc.o] Error 1
> > CC arch/x86/kernel/cpu/addon_cpuid_features.o
> > arch/x86/kernel/cpu/addon_cpuid_features.c: In function 'detect_extended_topology':
> > arch/x86/kernel/cpu/addon_cpuid_features.c:120: error: implicit declaration of function 'phys_pkg_id'
> > make[3]: *** [arch/x86/kernel/cpu/addon_cpuid_features.o] Error 1
> > make[3]: Target `__build' not remade because of errors.
> > make[2]: *** [arch/x86/kernel/cpu] Error 2
> > make[2]: Target `__build' not remade because of errors.
> > make[1]: *** [arch/x86/kernel] Error 2
> > CC arch/x86/mach-voyager/setup.o
> > arch/x86/mach-voyager/setup.c: In function 'intr_init_hook':
> > arch/x86/mach-voyager/setup.c:30: error: implicit declaration of function 'smp_intr_init'
> > arch/x86/mach-voyager/setup.c: In function 'machine_specific_memory_setup':
> > arch/x86/mach-voyager/setup.c:65: warning: unused variable 'new_nr'
> > make[2]: *** [arch/x86/mach-voyager/setup.o] Error 1
> > CC arch/x86/mach-voyager/voyager_smp.o
> > arch/x86/mach-voyager/voyager_smp.c:67: error: conflicting types for 'phys_cpu_present_map'
> > arch/x86/include/asm/mpspec.h:143: error: previous declaration of 'phys_cpu_present_map' was here
> > arch/x86/mach-voyager/voyager_smp.c: In function 'start_secondary':
> > arch/x86/mach-voyager/voyager_smp.c:444: error: implicit declaration of function 'notify_cpu_starting'
> > arch/x86/mach-voyager/voyager_smp.c: In function 'smp_call_function_interrupt':
> > arch/x86/mach-voyager/voyager_smp.c:955: error: implicit declaration of function 'generic_smp_call_function_interrupt'
> > arch/x86/mach-voyager/voyager_smp.c: In function 'smp_call_function_single_interrupt':
> > arch/x86/mach-voyager/voyager_smp.c:963: error: implicit declaration of function 'generic_smp_call_function_single_interrupt'
> > make[2]: *** [arch/x86/mach-voyager/voyager_smp.o] Error 1
> > make[2]: Target `__build' not remade because of errors.
> > make[1]: *** [arch/x86/mach-voyager] Error 2
>
> Yes ... present in the 2.6.28-rc as well. I've got it all fixed up
> locally.
>
> This type of breakage is more or less expected given that I wait
> until -rc1 for the tree to stop churning before trying to fix
> voyager and the subarchitectures, and the fact that the current way
> x86 is being developed tends to break them.

one problem is the number of x86/Voyager testboxes - how many of them
is there in existence - one or two, all of them owned by you?

the other problem is that you are apparently checking whether
x86/Voyager builds (boots?) at all only once every couple of months -
once per kernel cycle or so. That obviously means you'll be affected
by an accumulated set of bugs. Nobody else _can_ test it instead of
you, because no other kernel hacker owns this hardware.

So ... the right long-term way out of this is to do what we did with
all the other x86 subarchitectures: to convert Voyager into a generic
platform, via extension of the x86_quirks interfaces. That way we can
remove the remainder of the fragile "x86 subarchitecture" concept.
(which should never have been added to begin with)

Would you be interested in helping us out with such a project? It
would be a nice cleanup for sure.

Ingo
--
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/