From: Michal Hocko <mhocko@kernel.org>
To: David Rientjes <rientjes@google.com>
Cc: linux-mm@kvack.org, Johannes Weiner <hannes@cmpxchg.org>,
Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
Andrew Morton <akpm@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH] mm, oom: move GFP_NOFS check to out_of_memory
Date: Wed, 30 Mar 2016 11:47:50 +0200 [thread overview]
Message-ID: <20160330094750.GH30729@dhcp22.suse.cz> (raw)
In-Reply-To: <alpine.DEB.2.10.1603291510560.11705@chino.kir.corp.google.com>
On Tue 29-03-16 15:13:54, David Rientjes wrote:
> On Tue, 29 Mar 2016, Michal Hocko wrote:
>
> > diff --git a/mm/oom_kill.c b/mm/oom_kill.c
> > index 86349586eacb..1c2b7a82f0c4 100644
> > --- a/mm/oom_kill.c
> > +++ b/mm/oom_kill.c
> > @@ -876,6 +876,10 @@ bool out_of_memory(struct oom_control *oc)
> > return true;
> > }
> >
> > + /* The OOM killer does not compensate for IO-less reclaim. */
> > + if (!(oc->gfp_mask & __GFP_FS))
> > + return true;
> > +
> > /*
> > * Check if there were limitations on the allocation (only relevant for
> > * NUMA) that may require different handling.
>
> I don't object to this necessarily, but I think we need input from those
> that have taken the time to implement their own oom notifier to see if
> they agree. In the past, they would only be called if reclaim has
> completely failed; now, they can be called in low memory situations when
> reclaim has had very little chance to be successful. Getting an ack from
> them would be helpful.
I will make sure to put them on the CC and mention this in the changelog
when I post this next time. I personally think that this shouldn't make
much difference in the real life because GFP_NOFS only loads are rare
and we should rather help by releasing memory when it is available
rather than rely on something else to do it for us. Waiting for Godot is
never a good strategy.
> I also think we have discussed this before, but I think the oom notifier
> handling should be in done in the page allocator proper, i.e. in
> __alloc_pages_may_oom(). We can leave out_of_memory() for a clear defined
> purpose: to kill a process when all reclaim has failed.
I vaguely remember there was some issue with that the last time we have
discussed that. It was the duplication from the page fault and allocator
paths AFAIR. Nothing that cannot be handled though but the OOM notifier
API is just too ugly to spread outside OOM proper I guess. Why we cannot
move those users to use proper shrinkers interface (after it gets
extended by a priority of some sort and release some objects only after
we are really in troubles)? Something for a separate discussion,
though...
--
Michal Hocko
SUSE Labs
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2016-03-30 9:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-29 13:27 [RFC PATCH] mm, oom: move GFP_NOFS check to out_of_memory Michal Hocko
2016-03-29 13:45 ` Tetsuo Handa
2016-03-29 14:22 ` Michal Hocko
2016-03-29 15:29 ` Tetsuo Handa
2016-03-29 14:14 ` Michal Hocko
2016-03-29 22:13 ` David Rientjes
2016-03-30 9:47 ` Michal Hocko [this message]
2016-03-30 11:46 ` Tetsuo Handa
2016-03-30 12:11 ` Michal Hocko
2016-03-31 11:56 ` Tetsuo Handa
2016-03-31 15:11 ` Michal Hocko
2016-04-05 11:12 ` Tetsuo Handa
2016-04-06 10:28 ` Tetsuo Handa
2016-04-06 12:41 ` Michal Hocko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160330094750.GH30729@dhcp22.suse.cz \
--to=mhocko@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=rientjes@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).