• Mike Kravetz's avatar
    mm: hugetlb: define system call hugetlb size encodings in single file · e652f694
    Mike Kravetz authored
    Patch series "Consolidate system call hugetlb page size encodings".
    
    These patches are the result of discussions in
    https://lkml.org/lkml/2017/3/8/548.  The following changes are made in the
    patch set:
    
    1) Put all the log2 encoded huge page size definitions in a common
       header file.  The idea is have a set of definitions that can be use as
       the basis for system call specific definitions such as MAP_HUGE_* and
       SHM_HUGE_*.
    
    2) Remove MAP_HUGE_* definitions in arch specific files.  All these
       definitions are the same.  Consolidate all definitions in the primary
       user header file (uapi/linux/mman.h).
    
    3) Remove SHM_HUGE_* definitions intended for user space from kernel
       header file, and add to user (uapi/linux/shm.h) header file.  Add
       definitions for all known huge page size encodings as in mmap.
    
    This patch (of 3):
    
    If hugetlb pages are requested in mmap or shmget system calls, a huge
    page size other than default can be requested.  This is accomplished by
    encoding the log2 of the huge page size in the upper bits of the flag
    argument.  asm-generic and arch specific headers all define the same
    values for these encodings.
    
    Put common definitions in a single header file.  The primary uapi header
    files for mmap and shm will use these definitions as a basis for
    definitions specific to those system calls.
    
    Link: http://lkml.kernel.org/r/1501527386-10736-2-git-send-email-mike.kravetz@oracle.comSigned-off-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
    Acked-by: default avatarMichal Hocko <mhocko@suse.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Michael Kerrisk <mtk.manpages@gmail.com>
    Cc: Davidlohr Bueso <dbueso@suse.de>
    Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com>
    Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e652f694
hugetlb_encode.h 1.57 KB