• C
    [PATCH] Reduce size of huge boot per_cpu_pageset · 2caaad41
    Christoph Lameter 提交于
    Reduce size of the huge per_cpu_pageset structure in __initdata introduced
    into mm1 with the pageset localization patchset.  Use one specially
    configured pageset per cpu for all zones and nodes during bootup.
    
    - Avoid duplication of pageset initialization code.
    - do the adding to the pageset list before potential free_pages_bulk
      in free_hot_cold_page (otherwise we would have to hold a page
      in a pageset during the period that the boot pagesets are in use).
    - remove mistaken __cpuinitdata attribute and revert back to __initdata
      for the boot pageset. A boot pageset is not necessary for cpu hotplug.
    
    Tested for UP SMP NUMA on x86_64 (2.6.12-rc6-mm1): UP SMP NUMA Tested on
    IA64 (2.6.12-rc5-mm2): NUMA (2.6.12-rc6-mm1 broken for IA64 because of
    sparsemem patches)
    Signed-off-by: NChristoph Lameter <clameter@sgi.com>
    Signed-off-by: NAndrew Morton <akpm@osdl.org>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    2caaad41
page_alloc.c 61.5 KB