Re: [PATCH] x86_64 - UV fix for memory-only blades

From: Jack Steiner
Date: Wed May 20 2009 - 12:13:20 EST


On Tue, May 19, 2009 at 08:13:05AM -0700, Yinghai Lu wrote:
> Jack Steiner wrote:
> > Fix an endcase in handling UV blades that have memory
> > but no cpus. The calculation of the highest blade number
> > failed to handle these blades if they appear last in the
> > configuration.
> >
> > Signed-off-by: Jack Steiner <steiner@xxxxxxx>
> >
> > ---
> > arch/x86/kernel/apic/x2apic_uv_x.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > Index: linux/arch/x86/kernel/apic/x2apic_uv_x.c
> > ===================================================================
> > --- linux.orig/arch/x86/kernel/apic/x2apic_uv_x.c 2009-05-15 12:00:59.000000000 -0500
> > +++ linux/arch/x86/kernel/apic/x2apic_uv_x.c 2009-05-15 14:38:16.000000000 -0500
> > @@ -632,6 +632,7 @@ void __init uv_system_init(void)
> > pnode = (paddr >> m_val) & pnode_mask;
> > blade = boot_pnode_to_blade(pnode);
> > uv_node_to_blade[nid] = blade;
> > + max_pnode = max(pnode, max_pnode);
> > }
> >
> > map_gru_high(max_pnode);
>
> node_possible_map should already include nodes with memory and without memory already.
>
> maybe you could skip max_pnode calculating in the loop.

Terms related to nodes are grossly overloaded.

"pnode" is only loosely related to a node. It is a physical node number that
is a hardware-thing. For example, it is possible to have a 1 node system with a max_pnode
of 128.

pnodes are used only in the UV infrastructure - they have no generic meaning nor would they apply
to any other platform.


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