• Andrew Morton's avatar
    [PATCH] Manfred's patch to distribute boot allocations across nodes · 214b914e
    Andrew Morton authored
    From: Anton Blanchard <anton@samba.org>
    
    Distribute boot time memory allocations across all nodes, from Manfred
    Spraul.
    
    We want to spread memory across nodes to avoid all allocations ending
    up on node 0.
    
    Spreading boot time allocations around also helps us to avoid node 0
    becoming the hot node.
    
    I took it for a spin:
    
    buddyinfo before:
    Node 7, 0    2    1    1    0    2    1    2    1    2    1    2    741
    Node 6, 0    0    0    2    0    2    1    1    2    2    2    2   1002
    Node 5, 0    0    0    2    0    2    1    2    1    2    2    2   2006
    Node 4, 0    0    0    2    0    2    1    2    1    2    2    2   2006
    Node 3, 0    0    0    2    0    2    1    2    1    2    2    2   2006
    Node 2, 0    0    0    2    0    2    1    2    1    2    2    2   2006
    Node 1, 0    0    0    2    0    2    1    1    2    2    2    2   1002
    Node 0, 0    0   38    7    0    1    1    1    0    0    0    0   1998
    
    buddyinfo after:
    Node 7, 0    1    0    1    1    1    1    0    0    0    1    2    738
    Node 6, 0    1    0    1    1    1    0    1    0    0    2    2   1002
    Node 5, 0    0    0    1    1    1    1    0    0    0    2    2   2006
    Node 4, 0    1    0    1    0    1    1    0    0    0    2    2   2006
    Node 3, 0    0    0    1    0    1    1    0    0    0    2    2   2005
    Node 2, 0    1    0    0    0    0    0    1    0    0    2    2   2006
    Node 1, 0    2    1    1    0    1    1    1    0    0    2    2   1002
    Node 0, 0   20   45    8    3    0    1    1    1    1    0    1   2004
    
    Change in free memory due to patch:
    
    Node 7 -54.08 MB
    Node 6  -6.33 MB
    Node 5  -6.09 MB
    Node 4  -6.14 MB
    Node 3 -22.15 MB
    Node 2  -6.05 MB
    Node 1  -6.12 MB
    Node 0 107.35 MB
    
    As you can see we gained over 100MB on node 0.
    214b914e
page_alloc.c 44.2 KB