[PATCH] Add NUMA_BUILD definition in kernel.h to avoid #ifdef CONFIG_NUMA The NUMA_BUILD constant is always available and will be set to 1 on NUMA_BUILDs. That way checks valid only under CONFIG_NUMA can easily be done without #ifdef CONFIG_NUMA F.e. if (NUMA_BUILD && ) { ... } Signed-off-by: Christoph Lameter Index: linux-2.6.18-rc6-mm2/include/linux/kernel.h =================================================================== --- linux-2.6.18-rc6-mm2.orig/include/linux/kernel.h 2006-09-13 20:00:38.000000000 -0500 +++ linux-2.6.18-rc6-mm2/include/linux/kernel.h 2006-09-15 12:19:55.293331280 -0500 @@ -352,4 +352,11 @@ struct sysinfo { /* Trap pasters of __FUNCTION__ at compile-time */ #define __FUNCTION__ (__func__) +/* This helps us to avoid #ifdef CONFIG_NUMA */ +#ifdef CONFIG_NUMA +#define NUMA_BUILD 1 +#else +#define NUMA_BUILD 0 +#endif + #endif Index: linux-2.6.18-rc6-mm2/mm/page_alloc.c =================================================================== --- linux-2.6.18-rc6-mm2.orig/mm/page_alloc.c 2006-09-15 12:17:47.000000000 -0500 +++ linux-2.6.18-rc6-mm2/mm/page_alloc.c 2006-09-15 12:27:01.079243677 -0500 @@ -957,7 +957,7 @@ get_page_from_freelist(gfp_t gfp_mask, u */ do { zone = *z; - if (unlikely((gfp_mask & __GFP_THISNODE) && + if (unlikely(NUMA_BUILD && (gfp_mask & __GFP_THISNODE) && zone->zone_pgdat != zonelist->zones[0]->zone_pgdat)) break; if ((alloc_flags & ALLOC_CPUSET) && @@ -1330,14 +1330,12 @@ unsigned int nr_free_pagecache_pages(voi { return nr_free_zone_pages(gfp_zone(GFP_HIGHUSER)); } -#ifdef CONFIG_NUMA -static void show_node(struct zone *zone) + +static inline void show_node(struct zone *zone) { - printk("Node %ld ", zone_to_nid(zone)); + if (NUMA_BUILD) + printk("Node %ld ", zone_to_nid(zone)); } -#else -#define show_node(zone) do { } while (0) -#endif /* * The node's effective length of inactive_list(s).