mm: Don't warn on page allocation failures for OOM-killed processes

It can be normal for a dying process to have its page allocation request
fail when it has an OOM or LMK kill pending. In this case, it's actually
detrimental to print out a massive allocation failure message because
this means the running process needs to die quickly and release its
memory, which is slowed down slightly by the massive kmsg splat. The
allocation failure message is also a false positive in this case, since
the failure is intentional rather than being the result of an inability
to allocate memory.

Suppress the allocation failure warning for processes that are killed to
release memory in order to expedite their death and remedy the kmsg
confusion from seeing spurious allocation failure messages.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: Ruchit <ruchitmarathe@gmail.com>
fourteen
Sultan Alsawaf 5 years ago committed by Jenna
parent 5440e78367
commit c7a8d93d3e
  1. 4
      mm/page_alloc.c

@ -4273,8 +4273,10 @@ retry:
/* Avoid allocations with no watermarks from looping endlessly */
if (tsk_is_oom_victim(current) &&
(alloc_flags == ALLOC_OOM ||
(gfp_mask & __GFP_NOMEMALLOC)))
(gfp_mask & __GFP_NOMEMALLOC))) {
gfp_mask |= __GFP_NOWARN;
goto nopage;
}
/* Retry as long as the OOM killer is making progress */
if (did_some_progress) {

Loading…
Cancel
Save