• Andi Kleen's avatar
    hugetlb: support larger than MAX_ORDER · aa888a74
    Andi Kleen authored
    This is needed on x86-64 to handle GB pages in hugetlbfs, because it is
    not practical to enlarge MAX_ORDER to 1GB.
    
    Instead the 1GB pages are only allocated at boot using the bootmem
    allocator using the hugepages=...  option.
    
    These 1G bootmem pages are never freed.  In theory it would be possible to
    implement that with some complications, but since it would be a one-way
    street (>= MAX_ORDER pages cannot be allocated later) I decided not to
    currently.
    
    The >= MAX_ORDER code is not ifdef'ed per architecture.  It is not very
    big and the ifdef uglyness seemed not be worth it.
    
    Known problems: /proc/meminfo and "free" do not display the memory
    allocated for gb pages in "Total".  This is a little confusing for the
    user.
    Acked-by: default avatarAndrew Hastings <abh@cray.com>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    aa888a74
hugetlb.c 54.8 KB