[PATCH] silence unused pgdat warning from alloc_bootmem_node and friends
x86 NUMA systems only define bootmem for node 0. alloc_bootmem_node() and friends therefore ignore the passed pgdat and use NODE_DATA(0) in all cases. This leads to the following warnings as we are not using the passed parameter: .../mm/page_alloc.c: In function 'zone_wait_table_init': .../mm/page_alloc.c:2259: warning: unused variable 'pgdat' One option would be to define all variables used with these macros __attribute__ ((unused)), but this would leave us exposed should these become genuinely unused. The key here is that we _are_ using the value, we ignore it but that is a deliberate action. This patch adds a nested local variable within the alloc_bootmem_node helper to which the pgdat parameter is assigned making it 'used'. The nested local is marked __attribute__ ((unused)) to silence this same warning for it. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Cc: Christoph Lameter <clameter@engr.sgi.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
25ba77c141
Коммит
4af2bfc120
|
@ -120,13 +120,26 @@ static inline int pfn_valid(int pfn)
|
||||||
__alloc_bootmem_node(NODE_DATA(0), (x), PAGE_SIZE, __pa(MAX_DMA_ADDRESS))
|
__alloc_bootmem_node(NODE_DATA(0), (x), PAGE_SIZE, __pa(MAX_DMA_ADDRESS))
|
||||||
#define alloc_bootmem_low_pages(x) \
|
#define alloc_bootmem_low_pages(x) \
|
||||||
__alloc_bootmem_node(NODE_DATA(0), (x), PAGE_SIZE, 0)
|
__alloc_bootmem_node(NODE_DATA(0), (x), PAGE_SIZE, 0)
|
||||||
#define alloc_bootmem_node(ignore, x) \
|
#define alloc_bootmem_node(pgdat, x) \
|
||||||
__alloc_bootmem_node(NODE_DATA(0), (x), SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS))
|
({ \
|
||||||
#define alloc_bootmem_pages_node(ignore, x) \
|
struct pglist_data __attribute__ ((unused)) \
|
||||||
__alloc_bootmem_node(NODE_DATA(0), (x), PAGE_SIZE, __pa(MAX_DMA_ADDRESS))
|
*__alloc_bootmem_node__pgdat = (pgdat); \
|
||||||
#define alloc_bootmem_low_pages_node(ignore, x) \
|
__alloc_bootmem_node(NODE_DATA(0), (x), SMP_CACHE_BYTES, \
|
||||||
__alloc_bootmem_node(NODE_DATA(0), (x), PAGE_SIZE, 0)
|
__pa(MAX_DMA_ADDRESS)); \
|
||||||
|
})
|
||||||
|
#define alloc_bootmem_pages_node(pgdat, x) \
|
||||||
|
({ \
|
||||||
|
struct pglist_data __attribute__ ((unused)) \
|
||||||
|
*__alloc_bootmem_node__pgdat = (pgdat); \
|
||||||
|
__alloc_bootmem_node(NODE_DATA(0), (x), PAGE_SIZE, \
|
||||||
|
__pa(MAX_DMA_ADDRESS)) \
|
||||||
|
})
|
||||||
|
#define alloc_bootmem_low_pages_node(pgdat, x) \
|
||||||
|
({ \
|
||||||
|
struct pglist_data __attribute__ ((unused)) \
|
||||||
|
*__alloc_bootmem_node__pgdat = (pgdat); \
|
||||||
|
__alloc_bootmem_node(NODE_DATA(0), (x), PAGE_SIZE, 0); \
|
||||||
|
})
|
||||||
#endif /* CONFIG_NEED_MULTIPLE_NODES */
|
#endif /* CONFIG_NEED_MULTIPLE_NODES */
|
||||||
|
|
||||||
#endif /* _ASM_MMZONE_H_ */
|
#endif /* _ASM_MMZONE_H_ */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче