Re: [patch 6/6] x86: cpumask_of_node() should handle -1 as a node

From: Anton Blanchard
Date: Wed Jan 06 2010 - 18:40:29 EST



Hi David,

> Do we really want to do this? A nid of -1 is undefined, so the result of
> cpumask_of_node(-1) should be undefined; there's no formal definition that
> a nid of -1 follows the semantics that we use for x86 pci buses, for
> example, where it implies no NUMA locality in all cases.

I don't like the use of -1 as a node, but it's much more widespread than
x86; including sh, powerpc, sparc and the generic topology code. eg:


#fdef CONFIG_PCI
extern int pcibus_to_node(struct pci_bus *pbus);
#else
static inline int pcibus_to_node(struct pci_bus *pbus)
{
return -1;
}


It would be nice to get rid of this special case but I suspect that's not
2.6.33 material.

Speaking of invalid node ids, I also noticed the scheduler isn't using
node iterators:

for (i = 0; i < nr_node_ids; i++) {

which should be fixed at some stage too since it doesn't allow us to
allocate the node structures sparsely.

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