• Jiang Liu's avatar
    mm: provide more accurate estimation of pages occupied by memmap · 01cefaef
    Jiang Liu authored
    If SPARSEMEM is enabled, it won't build page structures for non-existing
    pages (holes) within a zone, so provide a more accurate estimation of
    pages occupied by memmap if there are bigger holes within the zone.
    
    And pages for highmem zones' memmap will be allocated from lowmem, so
    charge nr_kernel_pages for that.
    
    [akpm@linux-foundation.org: mark calc_memmap_size __paging_init]
    Signed-off-by: default avatarJiang Liu <jiang.liu@huawei.com>
    Cc: Wen Congyang <wency@cn.fujitsu.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Maciej Rutecki <maciej.rutecki@gmail.com>
    Cc: Chris Clayton <chris2553@googlemail.com>
    Cc: "Rafael J . Wysocki" <rjw@sisk.pl>
    Cc: Mel Gorman <mgorman@suse.de>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Michal Hocko <mhocko@suse.cz>
    Tested-by: default avatarJianguo Wu <wujianguo@huawei.com>
    Cc: Dave Hansen <dave@linux.vnet.ibm.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    01cefaef
page_alloc.c 169 KB