From: David Rientjes <rientjes@google.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>,
Johannes Weiner <hannes@cmpxchg.org>,
Oleg Nesterov <oleg@redhat.com>, Vlastimil Babka <vbabka@suse.cz>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Subject: Re: [patch -mm] mm, oom: add global access to memory reserves on livelock
Date: Thu, 27 Aug 2015 13:52:47 -0700 (PDT) [thread overview]
Message-ID: <alpine.DEB.2.10.1508271345330.30543@chino.kir.corp.google.com> (raw)
In-Reply-To: <20150827124122.GD27052@dhcp22.suse.cz>
On Thu, 27 Aug 2015, Michal Hocko wrote:
> > If Andrew would prefer moving in a direction where all Linux users are
> > required to have their admin use sysrq+f to manually trigger an oom kill,
> > which may or may not resolve the livelock since there's no way to
> > determine which process is holding the common mutex (or even which
> > processes are currently allocating), in such situations, then we can carry
> > this patch internally. I disagree with that solution for upstream Linux.
>
> There are other possibilities than the manual sysrq intervention. E.g.
> the already mentioned oom_{panic,reboot}_timeout which has a little
> advantage that it allows admin to opt in into the policy rather than
> having it hard coded into the kernel.
>
This falls under my scenario (2) from Tuesday's message:
(2) depletion of memory reserves, which can also happen today without
this patchset and we have fixed in the past.
You can deplete memory reserves today without access to global reserves on
oom livelock. I'm indifferent to whether the machine panics as soon as
memory reserves are fully depleted, independent of oom livelock and this
patch to address it, or whether there is a configurable timeout. It's an
independent issue, though, since the oom killer is not the only way for
this to happen and it seems there will be additional possibilities in the
future (the __GFP_NOFAIL case you bring up).
> > My patch has defined that by OOM_EXPIRE_MSECS. The premise is that an oom
> > victim with full access to memory reserves should never take more than 5s
> > to exit, which I consider a very long time. If it's increased, we see
> > userspace responsiveness issues with our processes that monitor system
> > health which timeout.
>
> Yes but it sounds very much like a policy which should better be defined
> from the userspace because different users might have different
> preferences.
>
My patch internally actually does make this configurable through yet
another VM sysctl and it defaults to what OOM_EXPIRE_MSECS does in my
patch. We would probably never increase it, but may decrease it from the
default of 5000. I was concerned about adding another sysctl that doesn't
have a clear user. If you feel that OOM_EXPIRE_MSECS is too small and
believe there would be a user who desires their system to be livelocked
for 10s, 5m, 1h, etc, then I can add the sysctl upstream as well even it's
unjustified as far as I'm concerned.
--
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:[~2015-08-27 20:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-20 21:00 David Rientjes
2015-08-20 23:10 ` Andrew Morton
2015-08-21 8:17 ` Michal Hocko
2015-08-21 13:29 ` Tetsuo Handa
2015-08-24 21:10 ` David Rientjes
2015-08-25 15:26 ` Michal Hocko
2015-08-24 21:04 ` David Rientjes
2015-08-25 14:25 ` Michal Hocko
2015-08-25 23:41 ` David Rientjes
2015-08-26 7:01 ` Michal Hocko
2015-08-26 22:23 ` David Rientjes
2015-08-27 12:41 ` Michal Hocko
2015-08-27 20:52 ` David Rientjes [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=alpine.DEB.2.10.1508271345330.30543@chino.kir.corp.google.com \
--to=rientjes@google.com \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mhocko@kernel.org \
--cc=oleg@redhat.com \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=vbabka@suse.cz \
/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