Skip to content
  • Michal Hocko's avatar
    mm, proc: report PR_SET_THP_DISABLE in proc · a1400af7
    Michal Hocko authored
    David Rientjes has reported that commit 18600332 ("mm: make
    PR_SET_THP_DISABLE immediately active") has changed the way how we
    report THPable VMAs to the userspace.  Their monitoring tool is
    triggering false alarms on PR_SET_THP_DISABLE tasks because it considers
    an insufficient THP usage as a memory fragmentation resp.  memory
    pressure issue.
    
    Before the said commit each newly created VMA inherited VM_NOHUGEPAGE
    flag and that got exposed to the userspace via /proc/<pid>/smaps file.
    This implementation had its downsides as explained in the commit message
    but it is true that the userspace doesn't have any means to query for
    the process wide THP enabled/disabled status.
    
    PR_SET_THP_DISABLE is a process wide flag so it makes a lot of sense to
    export in the process wide context rather than per-vma.  Introduce a new
    field to /proc/<pid>/status which export this status.  If
    PR_SET_THP_DISABLE is used then it reports false same as when the THP is
    not compiled in.  It doesn't consider the global THP status because we
    already export that information via sysfs
    
    Link: http://lkml.kernel.org/r/20181211143641.3503-4-mhocko@kernel.org
    Fixes: 18600332
    
     ("mm: make PR_SET_THP_DISABLE immediately active")
    Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
    Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
    Reported-by: default avatarDavid Rientjes <rientjes@google.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Paul Oppenheimer <bepvte@gmail.com>
    Cc: William Kucharski <william.kucharski@oracle.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    a1400af7