[PATCH 0/1] mm: define default cpu_to_node

From: Mike Travis
Date: Thu May 08 2008 - 19:02:54 EST



The following patch is offered to resolve this problem:

| Adrian Bunk wrote:
|| Commit aa6b54461cc5c0019b9d792adf3176b444c10763
|| (asm-generic: add node_to_cpumask_ptr macro)
|| causes the following build error with migor_defconfig:
||
|| <-- snip -->
||
|| ...
|| CC arch/sh/kernel/asm-offsets.s
|| In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mm.h:8,
|| from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/kernel/asm-offsets.c:13:
|| /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/gfp.h: In function 'alloc_pages_node':
|| /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/gfp.h:190:
|| error: implicit declaration of function 'cpu_to_node'
|| make[2]: *** [arch/sh/kernel/asm-offsets.s] Error 1
||


Ahh, this is what caused the error. In include/asm-generic/topology.h
cpu_to_node is only defined now if NUMA is turned off.

#ifndef CONFIG_NUMA

/* Other architectures wishing to use this simple topology API should fill
in the below functions as appropriate in their own <asm/topology.h> file. */
#ifndef cpu_to_node
#define cpu_to_node(cpu) ((void)(cpu),0)
#endif
...

So before my change arch 'sh' used the default define whether NUMA was
set or not.

An alternative would be to change all the arch's that define cpu_to_node
as an inline to:

#define cpu_to_node(cpu) _cpu_to_node(cpu)
static inline int _cpu_to_node(int cpu)
{
...
}

Then asm-generic/topology.h could define cpu_to_node if it's not already
defined.

Andrew or Ingo - do you have any preferences?

Thanks,
Mike

Signed-off-by: Mike Travis <travis@xxxxxxx>

# alpha
Cc: Richard Henderson <rth@xxxxxxxxxxx>

# powerpc
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Anton Blanchard <anton@xxxxxxxxx>

# sh
Cc: Adrian Bunk <bunk@xxxxxxxxxx>
Cc: lethal@xxxxxxxxxxxx
Cc: linux-sh@xxxxxxxxxxxxxxx

# sparc
Cc: David S. Miller <davem@xxxxxxxxxxxxx>
Cc: William L. Irwin <wli@xxxxxxxxxxxxxx>

# x86
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
---

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