Re: [PATCH/RFC 2/6] numa: x86_64: use generic percpu var numa_node_id() implementation

Christoph Lameter
2009-11-20T15:53:43Z

On Fri, 13 Nov 2009, Lee Schermerhorn wrote:

> [I think! What about cpu_to_node() func in x86/mm/numa_64.c ???]

If thats too early for per cpu operations then it cannot be used there.

> ===================================================================
> --- linux-2.6.32-rc5-mmotm-091101-1001.orig/arch/x86/include/asm/percpu.h
> +++ linux-2.6.32-rc5-mmotm-091101-1001/arch/x86/include/asm/percpu.h
> @@ -150,10 +150,12 @@ do { \
> #define percpu_or(var, val) percpu_to_op("or", var, val)
> #define percpu_xor(var, val) percpu_to_op("xor", var, val)
>
> +#define __this_cpu_read(pcp) percpu_from_op("mov", (pcp), "m"(pcp))
> #define __this_cpu_read_1(pcp) percpu_from_op("mov", (pcp), "m"(pcp))
> #define __this_cpu_read_2(pcp) percpu_from_op("mov", (pcp), "m"(pcp))
> #define __this_cpu_read_4(pcp) percpu_from_op("mov", (pcp), "m"(pcp))
>
> +#define __this_cpu_write(pcp, val) percpu_to_op("mov", (pcp), val)
> #define __this_cpu_write_1(pcp, val) percpu_to_op("mov", (pcp), val)
> #define __this_cpu_write_2(pcp, val) percpu_to_op("mov", (pcp), val)
> #define __this_cpu_write_4(pcp, val) percpu_to_op("mov", (pcp), val)

What does percpu generic stuff do here?