• Roman Gushchin's avatar
    mm: show total hugetlb memory consumption in /proc/meminfo · fcb2b0c5
    Roman Gushchin authored
    Currently we display some hugepage statistics (total, free, etc) in
    /proc/meminfo, but only for default hugepage size (e.g.  2Mb).
    
    If hugepages of different sizes are used (like 2Mb and 1Gb on x86-64),
    /proc/meminfo output can be confusing, as non-default sized hugepages
    are not reflected at all, and there are no signs that they are existing
    and consuming system memory.
    
    To solve this problem, let's display the total amount of memory,
    consumed by hugetlb pages of all sized (both free and used).  Let's call
    it "Hugetlb", and display size in kB to match generic /proc/meminfo
    style.
    
    For example, (1024 2Mb pages and 2 1Gb pages are pre-allocated):
      $ cat /proc/meminfo
      MemTotal:        8168984 kB
      MemFree:         3789276 kB
      <...>
      CmaFree:               0 kB
      HugePages_Total:    1024
      HugePages_Free:     1024
      HugePages_Rsvd:        0
      HugePages_Surp:        0
      Hugepagesize:       2048 kB
      Hugetlb:         4194304 kB
      DirectMap4k:       32632 kB
      DirectMap2M:     4161536 kB
      DirectMap1G:     6291456 kB
    
    Also, this patch updates corresponding docs to reflect Hugetlb entry
    meaning and difference between Hugetlb and HugePages_Total * Hugepagesize.
    
    Link: http://lkml.kernel.org/r/20171115231409.12131-1-guro@fb.comSigned-off-by: default avatarRoman Gushchin <guro@fb.com>
    Acked-by: default avatarMichal Hocko <mhocko@suse.com>
    Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
    Acked-by: default avatarDavid Rientjes <rientjes@google.com>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    fcb2b0c5
hugetlb.c 129 KB