lkml.org 
[lkml]   [2008]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/5] x86: Change size of node ids from u8 to u16 fixup
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


\
 
 \ /
  Last update: 2008-01-19 05:41    [W:0.083 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site