Re: [Patch:001/004]Unify pxm_to_node id ver.3.(generic code)

Andrew Morton
2006-03-28T21:07:36Z

Yasunori Goto <y-goto@jp.fujitsu.com> wrote:
>
> +/* Proximity bitmap length */
> +#ifdef CONFIG_NR_NODES_CHANGABLE
> +#define MAX_PXM_DOMAINS CONFIG_NR_NODES
> +#else
> +#define MAX_PXM_DOMAINS (256)
> +#endif

I don't think we need CONFIG_NR_NODES_CHANGABLE (it is spelled
"changeable", btw).

If the architecture wants to support changing of CONFIG_NR_NODES then it
can permit CONFIG_NR_NODES to be changed in its Kconfig implementation.

If the architecture doesn't want to permit changing of CONFIG_NR_NODES
then it should simply hardwire CONFIG_NR_NODES to the chosen value in
its Kconfig.

So all architectures which use acpi_numa must implement CONFIG_NR_NODES.

In fact, it would probably make sense to require that all NUMA-supporting
archtectures implement CONFIG_NR_NODES.

Also, we already have NODES_SHIFT defined in include/asm-*/numnodes.h.
What's the relationship between that and CONFIG_NR_NODES? It seems that we
want to derive NODES_SHIFT from CONFIG_NR_NODES.

Was ia64's CONFIG_IA64_NR_NODES the best choice? Should ia64 instead have
made NODES_SHIFT Kconfigurable, and derived its max-nr_nodes from that?

It's all a bit of a pickle.

I guess for now a suitable approach would be to make all numa-using
architectures define CONFIG_NR_NODES, and to leave that rather
unpleasant-looking code in include/asm-ia64/numnodes.h as it is.