Message ID | 1454407763-1017-9-git-send-email-gkulkarni@caviumnetworks.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Ganapatrao, [auto build test ERROR on arm64/for-next/core] [also build test ERROR on v4.5-rc2 next-20160205] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Ganapatrao-Kulkarni/arm64-numa-adding-numa-support-for-arm64-platforms/20160202-181522 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux for-next/core config: i386-randconfig-sb0-02030124 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from include/linux/gfp.h:5:0, from include/linux/slab.h:14, from include/linux/crypto.h:24, from arch/x86/kernel/asm-offsets.c:8: arch/x86/include/asm/mmzone_32.h: In function 'pfn_valid': >> include/linux/mmzone.h:704:41: error: implicit declaration of function 'NODE_DATA' [-Werror=implicit-function-declaration] #define node_end_pfn(nid) pgdat_end_pfn(NODE_DATA(nid)) ^ >> arch/x86/include/asm/mmzone_32.h:42:17: note: in expansion of macro 'node_end_pfn' return (pfn < node_end_pfn(nid)); ^ >> include/linux/mmzone.h:704:41: warning: passing argument 1 of 'pgdat_end_pfn' makes pointer from integer without a cast [-Wint-conversion] #define node_end_pfn(nid) pgdat_end_pfn(NODE_DATA(nid)) ^ >> arch/x86/include/asm/mmzone_32.h:42:17: note: in expansion of macro 'node_end_pfn' return (pfn < node_end_pfn(nid)); ^ include/linux/mmzone.h:706:29: note: expected 'pg_data_t * {aka struct pglist_data *}' but argument is of type 'int' static inline unsigned long pgdat_end_pfn(pg_data_t *pgdat) ^ cc1: some warnings being treated as errors make[2]: *** [arch/x86/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2 vim +/NODE_DATA +704 include/linux/mmzone.h d41dee369 Andy Whitcroft 2005-06-23 698 #else d41dee369 Andy Whitcroft 2005-06-23 699 #define pgdat_page_nr(pgdat, pagenr) pfn_to_page((pgdat)->node_start_pfn + (pagenr)) d41dee369 Andy Whitcroft 2005-06-23 700 #endif 408fde81c Dave Hansen 2005-06-23 701 #define nid_page_nr(nid, pagenr) pgdat_page_nr(NODE_DATA(nid),(pagenr)) ^1da177e4 Linus Torvalds 2005-04-16 702 c6830c226 KAMEZAWA Hiroyuki 2011-06-16 703 #define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) da3649e13 Cody P Schafer 2013-02-22 @704 #define node_end_pfn(nid) pgdat_end_pfn(NODE_DATA(nid)) c6830c226 KAMEZAWA Hiroyuki 2011-06-16 705 da3649e13 Cody P Schafer 2013-02-22 706 static inline unsigned long pgdat_end_pfn(pg_data_t *pgdat) da3649e13 Cody P Schafer 2013-02-22 707 { :::::: The code at line 704 was first introduced by commit :::::: da3649e133948d8b7d8c57b05a33faf62ac2cc7e mmzone: add pgdat_{end_pfn,is_empty}() helpers & consolidate. :::::: TO: Cody P Schafer <cody@linux.vnet.ibm.com> :::::: CC: Linus Torvalds <torvalds@linux-foundation.org> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/arch/arm64/include/asm/mmzone.h b/arch/arm64/include/asm/mmzone.h index a0de9e6..611a1cf 100644 --- a/arch/arm64/include/asm/mmzone.h +++ b/arch/arm64/include/asm/mmzone.h @@ -4,9 +4,7 @@ #ifdef CONFIG_NUMA #include <asm/numa.h> - -extern struct pglist_data *node_data[]; -#define NODE_DATA(nid) (node_data[(nid)]) +#include <asm-generic/mmzone.h> #endif /* CONFIG_NUMA */ #endif /* __ASM_MMZONE_H */ diff --git a/arch/m32r/include/asm/mmzone.h b/arch/m32r/include/asm/mmzone.h index 115ced3..e3d66a0 100644 --- a/arch/m32r/include/asm/mmzone.h +++ b/arch/m32r/include/asm/mmzone.h @@ -7,12 +7,10 @@ #define _ASM_MMZONE_H_ #include <asm/smp.h> +#include <asm-generic/mmzone.h> #ifdef CONFIG_DISCONTIGMEM -extern struct pglist_data *node_data[]; -#define NODE_DATA(nid) (node_data[nid]) - #define node_localnr(pfn, nid) ((pfn) - NODE_DATA(nid)->node_start_pfn) #define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT)) diff --git a/arch/metag/include/asm/mmzone.h b/arch/metag/include/asm/mmzone.h index 9c88a9c..b1e95b3 100644 --- a/arch/metag/include/asm/mmzone.h +++ b/arch/metag/include/asm/mmzone.h @@ -3,9 +3,7 @@ #ifdef CONFIG_NEED_MULTIPLE_NODES #include <linux/numa.h> - -extern struct pglist_data *node_data[]; -#define NODE_DATA(nid) (node_data[nid]) +#include <asm-generic/mmzone.h> static inline int pfn_to_nid(unsigned long pfn) { diff --git a/arch/powerpc/include/asm/mmzone.h b/arch/powerpc/include/asm/mmzone.h index 7b58917..da0c5ba 100644 --- a/arch/powerpc/include/asm/mmzone.h +++ b/arch/powerpc/include/asm/mmzone.h @@ -19,12 +19,6 @@ #ifdef CONFIG_NEED_MULTIPLE_NODES -extern struct pglist_data *node_data[]; -/* - * Return a pointer to the node data for node n. - */ -#define NODE_DATA(nid) (node_data[nid]) - /* * Following are specific to this numa platform. */ @@ -42,5 +36,7 @@ u64 memory_hotplug_max(void); #define memory_hotplug_max() memblock_end_of_DRAM() #endif /* CONFIG_NEED_MULTIPLE_NODES */ +#include <asm-generic/mmzone.h> + #endif /* __KERNEL__ */ #endif /* _ASM_MMZONE_H_ */ diff --git a/arch/s390/include/asm/mmzone.h b/arch/s390/include/asm/mmzone.h index a9e834e..91f1fcc 100644 --- a/arch/s390/include/asm/mmzone.h +++ b/arch/s390/include/asm/mmzone.h @@ -7,10 +7,6 @@ #ifndef _ASM_S390_MMZONE_H #define _ASM_S390_MMZONE_H -#ifdef CONFIG_NUMA +#include <asm-generic/mmzone.h> -extern struct pglist_data *node_data[]; -#define NODE_DATA(nid) (node_data[nid]) - -#endif /* CONFIG_NUMA */ #endif /* _ASM_S390_MMZONE_H */ diff --git a/arch/sh/include/asm/mmzone.h b/arch/sh/include/asm/mmzone.h index 15a8496..c070d00 100644 --- a/arch/sh/include/asm/mmzone.h +++ b/arch/sh/include/asm/mmzone.h @@ -5,9 +5,7 @@ #ifdef CONFIG_NEED_MULTIPLE_NODES #include <linux/numa.h> - -extern struct pglist_data *node_data[]; -#define NODE_DATA(nid) (node_data[nid]) +#include <asm-generic/mmzone.h> static inline int pfn_to_nid(unsigned long pfn) { diff --git a/arch/sparc/include/asm/mmzone.h b/arch/sparc/include/asm/mmzone.h index 99d9b9f..ef1365b 100644 --- a/arch/sparc/include/asm/mmzone.h +++ b/arch/sparc/include/asm/mmzone.h @@ -5,13 +5,11 @@ #include <linux/cpumask.h> -extern struct pglist_data *node_data[]; - -#define NODE_DATA(nid) (node_data[nid]) - extern int numa_cpu_lookup_table[]; extern cpumask_t numa_cpumask_lookup_table[]; #endif /* CONFIG_NEED_MULTIPLE_NODES */ +#include <asm-generic/mmzone.h> + #endif /* _SPARC64_MMZONE_H */ diff --git a/arch/x86/include/asm/mmzone.h b/arch/x86/include/asm/mmzone.h index d497bc4..5a52815 100644 --- a/arch/x86/include/asm/mmzone.h +++ b/arch/x86/include/asm/mmzone.h @@ -1,5 +1,4 @@ #ifdef CONFIG_X86_32 # include <asm/mmzone_32.h> -#else -# include <asm/mmzone_64.h> #endif +#include <asm-generic/mmzone.h> diff --git a/arch/x86/include/asm/mmzone_32.h b/arch/x86/include/asm/mmzone_32.h index 1ec990b..09f7cfb 100644 --- a/arch/x86/include/asm/mmzone_32.h +++ b/arch/x86/include/asm/mmzone_32.h @@ -8,11 +8,6 @@ #include <asm/smp.h> -#ifdef CONFIG_NUMA -extern struct pglist_data *node_data[]; -#define NODE_DATA(nid) (node_data[nid]) -#endif /* CONFIG_NUMA */ - #ifdef CONFIG_DISCONTIGMEM /* diff --git a/arch/x86/include/asm/mmzone_64.h b/arch/x86/include/asm/mmzone_64.h deleted file mode 100644 index 129d9aa..0000000 --- a/arch/x86/include/asm/mmzone_64.h +++ /dev/null @@ -1,17 +0,0 @@ -/* K8 NUMA support */ -/* Copyright 2002,2003 by Andi Kleen, SuSE Labs */ -/* 2.5 Version loosely based on the NUMAQ Code by Pat Gaughen. */ -#ifndef _ASM_X86_MMZONE_64_H -#define _ASM_X86_MMZONE_64_H - -#ifdef CONFIG_NUMA - -#include <linux/mmdebug.h> -#include <asm/smp.h> - -extern struct pglist_data *node_data[]; - -#define NODE_DATA(nid) (node_data[nid]) - -#endif -#endif /* _ASM_X86_MMZONE_64_H */ diff --git a/include/asm-generic/mmzone.h b/include/asm-generic/mmzone.h new file mode 100644 index 0000000..ec0fc4c --- /dev/null +++ b/include/asm-generic/mmzone.h @@ -0,0 +1,24 @@ +/* + * linux/include/asm-generic/mmzone.h + * + * Author: Ganapatrao Kulkarni <gkulkarni@cavium.com> + * Copyright (C) 2016 Cavium Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + */ + +#ifndef _ASM_GENERIC_MMZONE_H +#define _ASM_GENERIC_MMZONE_H + +#if defined(CONFIG_NUMA) || defined(CONFIG_NEED_MULTIPLE_NODES) + +#ifndef NODE_DATA +extern struct pglist_data *node_data[]; +#define NODE_DATA(nid) (node_data[(nid)]) +#endif + +#endif +#endif /* _ASM_GENERIC_MMZONE_H */