• keith mannthey's avatar
    [PATCH] convert i386 Summit subarch to use SRAT info for apicid_to_node calls · 3b08606d
    keith mannthey authored
    Convert the i386 summit subarch apicid_to_node to use node information
    provided by the SRAT.  It was discussed a little on LKML a few weeks ago
    and was seen as an acceptable fix.  The current way of obtaining the nodeid
    
     static inline int apicid_to_node(int logical_apicid)
     {
       return logical_apicid >> 5;
     }
    
    is just not correct for all summit systems/bios.  Assuming the apicid
    matches the Linux node number require a leap of faith that the bios mapped
    out the apicids a set way.  Modern summit HW (IBM x460) does not layout its
    bios in the manner for various reasons and is unable to boot i386 numa.
    
    The best way to get the correct apicid to node information is from the SRAT
    table during boot.  It lays out what apicid belongs to what node.  I use
    this information to create a table for use at run time.
    Signed-off-by: default avatarKeith Mannthey <kmannth@us.ibm.com>
    Cc: Andi Kleen <ak@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    3b08606d
srat.c 10.7 KB