From: Mel Gorman <mgorman@suse.de>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Colin Cross <ccross@android.com>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Andrea Arcangeli <aarcange@redhat.com>,
David Rientjes <rientjes@google.com>,
linux-mm@kvack.org
Subject: Re: [PATCH] mm: avoid livelock on !__GFP_FS allocations
Date: Tue, 1 Nov 2011 12:29:40 +0000 [thread overview]
Message-ID: <20111101122940.GC25123@suse.de> (raw)
In-Reply-To: <CAOJsxLH54aUjVE3b7queQMOJP1kb+bxtUTAUA=T=N378M5_hJA@mail.gmail.com>
On Tue, Oct 25, 2011 at 10:39:34PM +0300, Pekka Enberg wrote:
> Hi Mel,
>
> On Tue, Oct 25, 2011 at 2:23 PM, Mel Gorman <mgorman@suse.de> wrote:
> > I see what you mean with GFP_NOIO but there is an important difference
> > between GFP_NOIO and suspend. A GFP_NOIO low-order allocation currently
> > implies __GFP_NOFAIL as commented on in should_alloc_retry(). If no progress
> > is made, we call wait_iff_congested() and sleep for a bit. As the system
> > is running, kswapd and other process activity will proceed and eventually
> > reclaim enough pages for the GFP_NOIO allocation to succeed. In a running
> > system, GFP_NOIO can stall for a period of time but your patch will cause
> > the allocation to fail. While I expect callers return ENOMEM or handle
> > the situation properly with a wait-and-retry loop, there will be
> > operations that fail that used to succeed. This is why I'd prefer it was
> > a suspend-specific fix unless we know there is a case where a machine
> > livelocks due to a GFP_NOIO allocation looping forever and even then I'd
> > wonder why kswapd was not helping.
>
> I'm not that happy about your patch because it's going to the
> direction where the page allocator is special-casing for suspension.
Suspend really is a special case. While I'd prefer to avoid special
casing it like this, I prefer it a *lot* more than failing GFP_NOIO
allocations that used to succeed.
--
Mel Gorman
SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mgorman@suse.de>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Colin Cross <ccross@android.com>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Andrea Arcangeli <aarcange@redhat.com>,
David Rientjes <rientjes@google.com>,
linux-mm@kvack.org
Subject: Re: [PATCH] mm: avoid livelock on !__GFP_FS allocations
Date: Tue, 1 Nov 2011 12:29:40 +0000 [thread overview]
Message-ID: <20111101122940.GC25123@suse.de> (raw)
In-Reply-To: <CAOJsxLH54aUjVE3b7queQMOJP1kb+bxtUTAUA=T=N378M5_hJA@mail.gmail.com>
On Tue, Oct 25, 2011 at 10:39:34PM +0300, Pekka Enberg wrote:
> Hi Mel,
>
> On Tue, Oct 25, 2011 at 2:23 PM, Mel Gorman <mgorman@suse.de> wrote:
> > I see what you mean with GFP_NOIO but there is an important difference
> > between GFP_NOIO and suspend. A GFP_NOIO low-order allocation currently
> > implies __GFP_NOFAIL as commented on in should_alloc_retry(). If no progress
> > is made, we call wait_iff_congested() and sleep for a bit. As the system
> > is running, kswapd and other process activity will proceed and eventually
> > reclaim enough pages for the GFP_NOIO allocation to succeed. In a running
> > system, GFP_NOIO can stall for a period of time but your patch will cause
> > the allocation to fail. While I expect callers return ENOMEM or handle
> > the situation properly with a wait-and-retry loop, there will be
> > operations that fail that used to succeed. This is why I'd prefer it was
> > a suspend-specific fix unless we know there is a case where a machine
> > livelocks due to a GFP_NOIO allocation looping forever and even then I'd
> > wonder why kswapd was not helping.
>
> I'm not that happy about your patch because it's going to the
> direction where the page allocator is special-casing for suspension.
Suspend really is a special case. While I'd prefer to avoid special
casing it like this, I prefer it a *lot* more than failing GFP_NOIO
allocations that used to succeed.
--
Mel Gorman
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-11-01 12:29 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-25 6:39 [PATCH] mm: avoid livelock on !__GFP_FS allocations Colin Cross
2011-10-25 6:39 ` Colin Cross
2011-10-25 7:40 ` Pekka Enberg
2011-10-25 7:40 ` Pekka Enberg
2011-10-25 7:51 ` Colin Cross
2011-10-25 7:51 ` Colin Cross
2011-10-25 8:08 ` Pekka Enberg
2011-10-25 8:08 ` Pekka Enberg
2011-10-25 22:12 ` David Rientjes
2011-10-25 22:12 ` David Rientjes
2011-10-25 9:09 ` Mel Gorman
2011-10-25 9:09 ` Mel Gorman
2011-10-25 9:26 ` Colin Cross
2011-10-25 9:26 ` Colin Cross
2011-10-25 11:23 ` Mel Gorman
2011-10-25 11:23 ` Mel Gorman
2011-10-25 17:08 ` Colin Cross
2011-10-25 17:08 ` Colin Cross
2011-11-01 12:28 ` Mel Gorman
2011-11-01 12:28 ` Mel Gorman
2011-10-25 19:39 ` Pekka Enberg
2011-10-25 19:39 ` Pekka Enberg
2011-11-01 12:29 ` Mel Gorman [this message]
2011-11-01 12:29 ` Mel Gorman
2011-10-25 19:29 ` Colin Cross
2011-10-25 19:29 ` Colin Cross
2011-10-25 22:18 ` David Rientjes
2011-10-25 22:18 ` David Rientjes
2011-10-26 1:46 ` Colin Cross
2011-10-26 1:46 ` Colin Cross
2011-10-26 5:47 ` David Rientjes
2011-10-26 5:47 ` David Rientjes
2011-10-26 6:12 ` David Rientjes
2011-10-26 6:12 ` David Rientjes
2011-10-26 6:16 ` Colin Cross
2011-10-26 6:16 ` Colin Cross
2011-10-26 6:24 ` David Rientjes
2011-10-26 6:24 ` David Rientjes
2011-10-26 6:26 ` Colin Cross
2011-10-26 6:26 ` Colin Cross
2011-10-26 6:33 ` David Rientjes
2011-10-26 6:33 ` David Rientjes
2011-10-26 6:36 ` Colin Cross
2011-10-26 6:36 ` Colin Cross
2011-10-26 6:51 ` David Rientjes
2011-10-26 6:51 ` David Rientjes
2011-10-26 6:57 ` Colin Cross
2011-10-26 6:57 ` Colin Cross
2011-10-26 7:10 ` David Rientjes
2011-10-26 7:10 ` David Rientjes
2011-10-26 7:22 ` Colin Cross
2011-10-26 7:22 ` Colin Cross
2011-11-01 12:36 ` Mel Gorman
2011-11-01 12:36 ` Mel Gorman
2011-10-25 22:10 ` David Rientjes
2011-10-25 22:10 ` David Rientjes
-- strict thread matches above, loose matches on Subject: below --
2011-11-14 14:04 Mel Gorman
2011-11-14 14:04 ` Mel Gorman
2011-11-14 18:38 ` Andrea Arcangeli
2011-11-14 18:38 ` Andrea Arcangeli
2011-11-15 10:30 ` Mel Gorman
2011-11-15 10:30 ` Mel Gorman
2011-11-14 23:03 ` Andrew Morton
2011-11-14 23:03 ` Andrew Morton
2011-11-15 10:42 ` Mel Gorman
2011-11-15 10:42 ` Mel Gorman
2011-11-15 15:43 ` Mel Gorman
2011-11-15 15:43 ` Mel Gorman
2011-11-15 16:13 ` Minchan Kim
2011-11-15 16:13 ` Minchan Kim
2011-11-15 17:36 ` Mel Gorman
2011-11-15 17:36 ` Mel Gorman
2011-11-16 0:22 ` Minchan Kim
2011-11-16 0:22 ` Minchan Kim
2011-11-16 0:28 ` Colin Cross
2011-11-16 0:28 ` Colin Cross
2011-11-16 0:45 ` Minchan Kim
2011-11-16 0:45 ` Minchan Kim
2011-11-16 7:10 ` Pekka Enberg
2011-11-16 7:10 ` Pekka Enberg
2011-11-16 21:44 ` David Rientjes
2011-11-16 21:44 ` David Rientjes
2011-11-16 21:58 ` Rafael J. Wysocki
2011-11-16 21:58 ` Rafael J. Wysocki
2011-11-16 22:07 ` Minchan Kim
2011-11-16 22:07 ` Minchan Kim
2011-11-16 22:48 ` David Rientjes
2011-11-16 22:48 ` David Rientjes
2011-11-15 21:40 ` David Rientjes
2011-11-15 21:40 ` David Rientjes
2011-11-16 9:52 ` Mel Gorman
2011-11-16 9:52 ` Mel Gorman
2011-11-16 21:39 ` David Rientjes
2011-11-16 21:39 ` David Rientjes
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=20111101122940.GC25123@suse.de \
--to=mgorman@suse.de \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=ccross@android.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=penberg@cs.helsinki.fi \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.