From: Michal Hocko <mhocko@suse.com>
To: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: akpm@linux-foundation.org, linux-mm@kvack.org,
rientjes@google.com, mjaggi@caviumnetworks.com, oleg@redhat.com,
vdavydov.dev@gmail.com
Subject: Re: [PATCH v2] mm, oom: task_will_free_mem(current) should ignore MMF_OOM_SKIP for once.
Date: Mon, 21 Aug 2017 15:18:52 +0200 [thread overview]
Message-ID: <20170821131851.GJ25956@dhcp22.suse.cz> (raw)
In-Reply-To: <201708212157.DFB00801.tLMOFFSOOVQFJH@I-love.SAKURA.ne.jp>
On Mon 21-08-17 21:57:44, Tetsuo Handa wrote:
> Michal Hocko wrote:
[...]
> > Sigh... Let me repeat for the last time (this whole thread is largely a
> > waste of time to be honest). Find a _robust_ solution rather than
> > fiddling with try-once-more kind of hacks. E.g. do an allocation attempt
> > _before_ we do any disruptive action (aka kill a victim). This would
> > help other cases when we race with an exiting tasks or somebody managed
> > to free memory while we were selecting an oom victim which can take
> > quite some time.
>
> I did not get your answer to my question:
>
> You don't want to call get_page_from_freelist() from out_of_memory(), do you?
>
> Since David Rientjes wrote "how sloppy this would be because it's blurring
> the line between oom killer and page allocator." and you responded as
> "Yes the layer violation is definitely not nice." at
> http://lkml.kernel.org/r/20160129152307.GF32174@dhcp22.suse.cz ,
> I assumed that you don't want to call get_page_from_freelist() from out_of_memory().
Yes that would be a layering violation and I do not like that very much.
And that is why I keep repeating that this is something to handle only _if_
the problem is real and happens with _sensible_ workloads so often that
we really have to care. If this happens only under oom stress testing
then I would be tempted to not care all that much.
Please try to understand that OOM killer will never be perfect and
adding more kludges and hacks make it more fragile so each additional
heuristic should be considered carefully.
--
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>
prev parent reply other threads:[~2017-08-21 13:18 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-02 23:55 [PATCH] " Tetsuo Handa
2017-08-03 0:04 ` Andrew Morton
2017-08-03 7:10 ` Michal Hocko
2017-08-03 7:53 ` Tetsuo Handa
2017-08-03 8:14 ` Michal Hocko
2017-08-04 11:10 ` Tetsuo Handa
2017-08-04 11:26 ` Michal Hocko
2017-08-04 11:44 ` Tetsuo Handa
2017-08-04 11:52 ` Michal Hocko
2017-08-04 11:54 ` Manish Jaggi
2017-08-04 15:24 ` Tetsuo Handa
2017-08-04 15:54 ` Tetsuo Handa
2017-08-19 6:23 ` [PATCH v2] " Tetsuo Handa
2017-08-21 8:43 ` Michal Hocko
2017-08-21 11:41 ` Tetsuo Handa
2017-08-21 12:10 ` Michal Hocko
2017-08-21 12:57 ` Tetsuo Handa
2017-08-21 13:18 ` Michal Hocko [this message]
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=20170821131851.GJ25956@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=linux-mm@kvack.org \
--cc=mjaggi@caviumnetworks.com \
--cc=oleg@redhat.com \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=rientjes@google.com \
--cc=vdavydov.dev@gmail.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