[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [linux test] 2291: regressions - trouble: blocked/fail



 On 10/01/2010 03:20 AM, Ian Campbell wrote:
> On Thu, 2010-09-30 at 23:47 +0100, xen.org wrote:
>> flight 2291 linux real
>> http://www.chiark.greenend.org.uk/~xensrcts/logs/2291/
>>
>> Regressions :-(
>>
>> tests which did not succeed:
>>  build-amd64                   3 xen-build                  fail REGR. vs. 
>> 2279
>>  build-i386                    3 xen-build                  fail REGR. vs. 
>> 2279
>         In file included
>         from 
> /home/osstest/build.2291.build-amd64/xen-unstable/linux-2.6-pvops.git/arch/x86/kernel/early_printk.c:18:
>         
> /home/osstest/build.2291.build-amd64/xen-unstable/linux-2.6-pvops.git/arch/x86/include/asm/pgtable.h:
>  In function 'pgd_set_mm':
>         
> /home/osstest/build.2291.build-amd64/xen-unstable/linux-2.6-pvops.git/arch/x86/include/asm/pgtable.h:32:
>  error: implicit declaration of function '__pfn_to_section'
>         
> /home/osstest/build.2291.build-amd64/xen-unstable/linux-2.6-pvops.git/arch/x86/include/asm/pgtable.h:32:
>  warning: initialization makes pointer from integer without a cast
>         
> /home/osstest/build.2291.build-amd64/xen-unstable/linux-2.6-pvops.git/arch/x86/include/asm/pgtable.h:32:
>  error: implicit declaration of function '__section_mem_map_addr'
>         
> /home/osstest/build.2291.build-amd64/xen-unstable/linux-2.6-pvops.git/arch/x86/include/asm/pgtable.h:32:
>  error: invalid type argument of '->' (have 'long unsigned int')
>         
> /home/osstest/build.2291.build-amd64/xen-unstable/linux-2.6-pvops.git/arch/x86/include/asm/pgtable.h:32:
>  error: bit-field '<anonymous>' width not an integer constant
>         
> /home/osstest/build.2291.build-amd64/xen-unstable/linux-2.6-pvops.git/arch/x86/include/asm/pgtable.h:33:
>  warning: initialization makes pointer from integer without a cast
>         
> /home/osstest/build.2291.build-amd64/xen-unstable/linux-2.6-pvops.git/arch/x86/include/asm/pgtable.h:33:
>  error: invalid type argument of '->' (have 'long unsigned int')
>         make[7]: *** [arch/x86/kernel/early_printk.o] Error 1
>         make[6]: *** [arch/x86/kernel] Error 2
>         make[5]: *** [arch/x86] Error 2
>         make[5]: *** Waiting for unfinished jobs....
>
> I think this comes from b2464c422fb44275deeb5770b668351860f68e0e.
>

Yes.  Works for me, needless to say.  I'm guessing you have NUMA and/or
hotplug memory config options enabled which I don't?

> In my 32 bit environment I get this instead:
>           CC      arch/x86/kernel/early_printk.o
>         In file included from 
> /local/scratch/ianc/devel/kernels/linux-2.6/arch/x86/kernel/early_printk.c:18:
>         
> /local/scratch/ianc/devel/kernels/linux-2.6/arch/x86/include/asm/pgtable.h: 
> In function 'pgd_set_mm':
>         
> /local/scratch/ianc/devel/kernels/linux-2.6/arch/x86/include/asm/pgtable.h:32:
>  error: 'mem_map' undeclared (first use in this function)
>         
> /local/scratch/ianc/devel/kernels/linux-2.6/arch/x86/include/asm/pgtable.h:32:
>  error: (Each undeclared identifier is reported only once
>         
> /local/scratch/ianc/devel/kernels/linux-2.6/arch/x86/include/asm/pgtable.h:32:
>  error: for each function it appears in.)
>         
> /local/scratch/ianc/devel/kernels/linux-2.6/arch/x86/include/asm/pgtable.h:32:
>  error: bit-field '<anonymous>' width not an integer constant
>         make[2]: *** [arch/x86/kernel/early_printk.o] Error 1
>         make[1]: *** [arch/x86/kernel/early_printk.o] Error 2
>
> mem_map and __pfn_to_section are both in linux/mmzone.h so the patch
> below fixes my issue and I suspect fixes the original too. Possibly we
> should be including <linux/mm.h> instead of mmzone and mm_types?

I think there's a very strong risk of getting a cyclic #include
dependency.  Even mmzone.h is quite risky.

I think the simplest fix is to just pull them out of line.  They're
hardly performance critical.  The alternative would be to keep using
inlines but in the single file where each is used.  But I'd prefer to
keep them together as a matched pair for maintenance's sake.

    J

> diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
> index c68e3ca..77a9766 100644
> --- a/arch/x86/include/asm/pgtable.h
> +++ b/arch/x86/include/asm/pgtable.h
> @@ -15,6 +15,7 @@
>        : (prot))
>  
>  #ifndef __ASSEMBLY__
> +#include <linux/mmzone.h>
>  #include <linux/mm_types.h>
>  
>  /*
>
>


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.