On Fri, 18 Jan 2008, Yinghai Lu wrote: > > +#if MAX_NUMNODES > 256 > > +typedef u16 numanode_t; > > +#else > > +typedef u8 numanode_t; > > +#endif > > + > > #endif /* _LINUX_NUMA_H */ > > that is wrong, you can not change pxm_to_node_map from int to u8 or u16. >
Yeah, NID_INVAL is negative so no unsigned type will work here, unfortunately. And that reduces the intended savings of your change since the smaller type can only be used with a smaller CONFIG_NODES_SHIFT. > int acpi_map_pxm_to_node(int pxm) > { > int node = pxm_to_node_map[pxm]; > > if (node < 0){ > if (nodes_weight(nodes_found_map) >= MAX_NUMNODES) > return NID_INVAL; > node = first_unset_node(nodes_found_map); > __acpi_map_pxm_to_node(pxm, node); > node_set(node, nodes_found_map); > } > > return node; > } > > node will will be always 255 or 65535 > Right. > please keep that to int. > > I got > SART: PXM 0 -> APIC 0 -> Node 255 > SART: PXM 0 -> APIC 1 -> Node 255 > SART: PXM 1 -> APIC 2 -> Node 255 > SART: PXM 1 -> APIC 3 -> Node 255 > I assume this is a typo and those proximity mappings are actually from the SRAT. David -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/