• Tom Lane's avatar
    Try to find out the actual hugepage size when making a MAP_HUGETLB request. · cb775768
    Tom Lane authored
    Even if Linux's mmap() is okay with a partial-hugepage request, munmap()
    is not, as reported by Chris Richards.  Therefore it behooves us to try
    a bit harder to find out the actual hugepage size, instead of assuming
    that we can skate by with a guess.
    
    For the moment, just look into /proc/meminfo to find out the default
    hugepage size, and use that.  Later, on kernels that support requests
    for nondefault sizes, we might try to consider other alternatives.
    But that smells more like a new feature than a bug fix, especially if
    we want to provide any way for the DBA to control it, so leave it for
    another day.
    
    I set this up to allow easy addition of platform-specific code for
    non-Linux platforms, if needed; but right now there are no reports
    suggesting that we need to work harder on other platforms.
    
    Back-patch to 9.4 where hugepage support was introduced.
    
    Discussion: <31056.1476303954@sss.pgh.pa.us>
    cb775768
sysv_shmem.c 25.3 KB