• Tetsuo Handa's avatar
    mm, page_alloc: remove debug_guardpage_minorder() test in warn_alloc() · 0f7896f1
    Tetsuo Handa authored
    Commit c0a32fc5 ("mm: more intensive memory corruption debugging")
    changed to check debug_guardpage_minorder() > 0 when reporting
    allocation failures.  The reasoning was
    
      When we use guard page to debug memory corruption, it shrinks
      available pages to 1/2, 1/4, 1/8 and so on, depending on parameter
      value. In such case memory allocation failures can be common and
      printing errors can flood dmesg. If somebody debug corruption,
      allocation failures are not the things he/she is interested about.
    
    but this is misguided.
    
    Allocation requests with __GFP_NOWARN flag by definition do not cause
    flooding of allocation failure messages.  Allocation requests with
    __GFP_NORETRY flag likely also have __GFP_NOWARN flag.  Costly
    allocation requests likely also have __GFP_NOWARN flag.
    
    Allocation requests without __GFP_DIRECT_RECLAIM flag likely also have
    __GFP_NOWARN flag or __GFP_HIGH flag.  Non-costly allocation requests
    with __GFP_DIRECT_RECLAIM flag basically retry forever due to the "too
    small to fail" memory-allocation rule.
    
    Therefore, as a whole, shrinking available pages by
    debug_guardpage_minorder= kernel boot parameter might cause flooding of
    OOM killer messages but unlikely causes flooding of allocation failure
    messages.  Let's remove debug_guardpage_minorder() > 0 check which would
    likely be pointless.
    
    Link: http://lkml.kernel.org/r/1491910035-4231-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jpSigned-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Acked-by: default avatarMichal Hocko <mhocko@suse.com>
    Cc: Stanislaw Gruszka <sgruszka@redhat.com>
    Cc: Mel Gorman <mgorman@suse.de>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: "Rafael J . Wysocki" <rafael.j.wysocki@intel.com>
    Cc: Christoph Lameter <cl@linux-foundation.org>
    Cc: Pekka Enberg <penberg@cs.helsinki.fi>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    0f7896f1
page_alloc.c 207 KB