linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Markus Trippelsdorf <markus@trippelsdorf.de>,
	Arkadiusz Miskiewicz <a.miskiewicz@gmail.com>,
	Ralf-Peter Rohbeck <Ralf-Peter.Rohbeck@quantum.com>,
	Jiri Slaby <jslaby@suse.com>, Olaf Hering <olaf@aepfle.de>,
	Vlastimil Babka <vbabka@suse.cz>, Joonsoo Kim <js1304@gmail.com>,
	linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: OOM detection regressions since 4.7
Date: Mon, 22 Aug 2016 15:42:28 +0200	[thread overview]
Message-ID: <20160822134227.GM13596@dhcp22.suse.cz> (raw)
In-Reply-To: <20160822133114.GA15302@kroah.com>

On Mon 22-08-16 09:31:14, Greg KH wrote:
> On Mon, Aug 22, 2016 at 12:54:41PM +0200, Michal Hocko wrote:
> > On Mon 22-08-16 06:05:28, Greg KH wrote:
> > > On Mon, Aug 22, 2016 at 11:37:07AM +0200, Michal Hocko wrote:
> > [...]
> > > > > From 899b738538de41295839dca2090a774bdd17acd2 Mon Sep 17 00:00:00 2001
> > > > > From: Michal Hocko <mhocko@suse.com>
> > > > > Date: Mon, 22 Aug 2016 10:52:06 +0200
> > > > > Subject: [PATCH] mm, oom: prevent pre-mature OOM killer invocation for high
> > > > >  order request
> > > > > 
> > > > > There have been several reports about pre-mature OOM killer invocation
> > > > > in 4.7 kernel when order-2 allocation request (for the kernel stack)
> > > > > invoked OOM killer even during basic workloads (light IO or even kernel
> > > > > compile on some filesystems). In all reported cases the memory is
> > > > > fragmented and there are no order-2+ pages available. There is usually
> > > > > a large amount of slab memory (usually dentries/inodes) and further
> > > > > debugging has shown that there are way too many unmovable blocks which
> > > > > are skipped during the compaction. Multiple reporters have confirmed that
> > > > > the current linux-next which includes [1] and [2] helped and OOMs are
> > > > > not reproducible anymore. A simpler fix for the stable is to simply
> > > > > ignore the compaction feedback and retry as long as there is a reclaim
> > > > > progress for high order requests which we used to do before. We already
> > > > > do that for CONFING_COMPACTION=n so let's reuse the same code when
> > > > > compaction is enabled as well.
> > > > > 
> > > > > [1] http://lkml.kernel.org/r/20160810091226.6709-1-vbabka@suse.cz
> > > > > [2] http://lkml.kernel.org/r/f7a9ea9d-bb88-bfd6-e340-3a933559305a@suse.cz
> > > > > 
> > > > > Fixes: 0a0337e0d1d1 ("mm, oom: rework oom detection")
> > > > > Signed-off-by: Michal Hocko <mhocko@suse.com>
> > > > > ---
> > > > >  mm/page_alloc.c | 50 ++------------------------------------------------
> > > > >  1 file changed, 2 insertions(+), 48 deletions(-)
> > > 
> > > So, if this goes into Linus's tree, can you let stable@vger.kernel.org
> > > know about it so we can add it to the 4.7-stable tree?  Otherwise
> > > there's not much I can do here now, right?
> > 
> > My plan would be actually to not push this to Linus because we have a
> > proper fix for Linus tree. It is just that the fix is quite large and I
> > felt like the stable should get the most simple fix possible, which is
> > this partial revert. So, what I am trying to tell is to push a non-linus
> > patch to stable as it is simpler.
> 
> I _REALLY_ hate taking any patches that are not in Linus's tree as 90%
> of the time (well, almost always), it ends up being wrong and hurting us
> in the end.

I do not like it either but if there is a simple and straightforward
workaround for stable while the upstream can go with the _proper_ fix
from the longer POV then I think this is perfectly justified. Stable
should be always about the simplest fix for the problem IMHO.

Of course, if Linus/Andrew doesn't like to take those compaction
improvements this late then I will ask to merge the partial revert to
Linus tree as well and then there is not much to discuss.

> What exactly are the commits that are in Linus's tree that resolve this
> issue?

The initial email in this thread has pointed to those patches. Please
note that some of its dependeces (mostly code cleanups) are already
merged and that backporting without them would make the backport harder
and more risky.
-- 
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>

  reply	other threads:[~2016-08-22 13:42 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-22  9:32 OOM detection regressions since 4.7 Michal Hocko
2016-08-22  9:37 ` Michal Hocko
2016-08-22 10:05   ` Greg KH
2016-08-22 10:54     ` Michal Hocko
2016-08-22 13:31       ` Greg KH
2016-08-22 13:42         ` Michal Hocko [this message]
2016-08-22 14:02           ` Greg KH
2016-08-22 22:05           ` Andrew Morton
2016-08-23  7:43             ` Michal Hocko
2016-08-25  7:11               ` Michal Hocko
2016-08-25  7:17                 ` Olaf Hering
2016-08-29 14:52                   ` Olaf Hering
2016-08-29 14:54                     ` Olaf Hering
2016-08-29 15:07                     ` Michal Hocko
2016-08-29 15:59                       ` Olaf Hering
2016-08-29 17:28                     ` Linus Torvalds
2016-08-29 17:52                       ` Jeff Layton
2016-08-28  5:50                 ` Arkadiusz Miskiewicz
2016-08-25 20:30               ` Ralf-Peter Rohbeck
2016-08-26  6:26                 ` Michal Hocko
2016-08-26 20:17                   ` Ralf-Peter Rohbeck
2016-08-22 10:16 ` Markus Trippelsdorf
2016-08-22 10:56   ` Michal Hocko
2016-08-22 11:01     ` Markus Trippelsdorf
2016-08-22 11:13       ` Michal Hocko
2016-08-22 11:20         ` Markus Trippelsdorf
2016-08-23  4:52 ` Joonsoo Kim
2016-08-23  7:33   ` Michal Hocko
2016-08-23  7:40     ` Markus Trippelsdorf
2016-08-23  7:48       ` Michal Hocko
2016-08-23 19:08     ` Linus Torvalds
2016-08-24  6:32       ` Michal Hocko
2016-08-24  5:01     ` Joonsoo Kim
2016-08-24  7:04       ` Michal Hocko
2016-08-24  7:29         ` Joonsoo Kim

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=20160822134227.GM13596@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=Ralf-Peter.Rohbeck@quantum.com \
    --cc=a.miskiewicz@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=js1304@gmail.com \
    --cc=jslaby@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=markus@trippelsdorf.de \
    --cc=olaf@aepfle.de \
    --cc=torvalds@linux-foundation.org \
    --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;
as well as URLs for NNTP newsgroup(s).