Search code examples
linux-kerneltlbmmuhuge-pages

Multiple hugepage sizes in Linux (x86-64)?


Does the Linux on x86-64 support multiple huge page sizes (e.g., both 2MB and 1GB page sizes beyond the 4KB base page size)? If yes, is there a way to specify that for a given allocation which huge page size to use? In other words, my question is if "MAP_HUGETLB" flag is used while doing mmap() it maps them allocation to hugepages of default size. Is there anyway to request an allocation to be mapped on to non-default hugepage size?


Solution

  • Not quite yet, but it's working its way through the LKML. At a guess, the feature will be available in a few releases time.

    You will then be able to use the flags MAP_HUGE_2MB and MAP_HUGE_1GB to configure this explicitly.