Re: [NUMA , x86_64] Why memnode_shift is chosen with the lowest possible value ?

From: Andi Kleen
Date: Thu Sep 29 2005 - 08:43:58 EST


> Using memnode_shift=33 would access only 2 bytes from this memnodemap[],
> touching fewer cache lines (well , one cache line). kfree() and friends
> would be slightly faster, at least cache friendly.

Agreed. Please send a patch.

>
> Another question is :
>
> Could we add in pda (struct x8664_pda) the node of the cpu ?
>
> We currently do :
>
> #define numa_node_id() (cpu_to_node(raw_smp_processor_id()))
>
> Instead of reading the processor_id from pda, then access cpu_to_node[], we
> could directly get this information from pda.
>
> #if defined(CONFIG_NUMA)
> static inline __attribute_pure__ int numa_node_id() { return
> read_pda(node);}
> #else
> #define numa_node_id() 0
> #endif

Should be fine too. Please send a patch for that too.

-Andi

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