From: Rik van Riel <riel@redhat.com>
To: Johannes Weiner <hannes@cmpxchg.org>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Jan Stancek <jstancek@redhat.com>, Mel Gorman <mgorman@suse.de>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 1/2] mm: page_alloc: reset aging cycle with GFP_THISNODE
Date: Tue, 25 Feb 2014 15:36:47 -0500 [thread overview]
Message-ID: <530CFEDF.3060801@redhat.com> (raw)
In-Reply-To: <1393360022-22566-1-git-send-email-hannes@cmpxchg.org>
On 02/25/2014 03:27 PM, Johannes Weiner wrote:
> Jan Stancek reports manual page migration encountering allocation
> failures after some pages when there is still plenty of memory free,
> and bisected the problem down to 81c0a2bb515f ("mm: page_alloc: fair
> zone allocator policy").
>
> The problem is that page migration uses GFP_THISNODE and this makes
> the page allocator bail out before entering the slowpath entirely,
> without resetting the zone round-robin batches. A string of such
> allocations will fail long before the node's free memory is exhausted.
>
> GFP_THISNODE is a special flag for callsites that implement their own
> clever node fallback and so no direct reclaim should be invoked. But
> if the allocations fail, the fair allocation batches should still be
> reset, and if the node is full, it should be aged in the background.
>
> Make GFP_THISNODE wake up kswapd and reset the zone batches, but bail
> out before entering direct reclaim to not stall the allocating task.
>
> Reported-by: Jan Stancek <jstancek@redhat.com>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
> Cc: <stable@kernel.org> # 3.12+
Acked-by: Rik van Riel <riel@redhat.com>
--
All rights reversed
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Rik van Riel <riel@redhat.com>
To: Johannes Weiner <hannes@cmpxchg.org>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Jan Stancek <jstancek@redhat.com>, Mel Gorman <mgorman@suse.de>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 1/2] mm: page_alloc: reset aging cycle with GFP_THISNODE
Date: Tue, 25 Feb 2014 15:36:47 -0500 [thread overview]
Message-ID: <530CFEDF.3060801@redhat.com> (raw)
In-Reply-To: <1393360022-22566-1-git-send-email-hannes@cmpxchg.org>
On 02/25/2014 03:27 PM, Johannes Weiner wrote:
> Jan Stancek reports manual page migration encountering allocation
> failures after some pages when there is still plenty of memory free,
> and bisected the problem down to 81c0a2bb515f ("mm: page_alloc: fair
> zone allocator policy").
>
> The problem is that page migration uses GFP_THISNODE and this makes
> the page allocator bail out before entering the slowpath entirely,
> without resetting the zone round-robin batches. A string of such
> allocations will fail long before the node's free memory is exhausted.
>
> GFP_THISNODE is a special flag for callsites that implement their own
> clever node fallback and so no direct reclaim should be invoked. But
> if the allocations fail, the fair allocation batches should still be
> reset, and if the node is full, it should be aged in the background.
>
> Make GFP_THISNODE wake up kswapd and reset the zone batches, but bail
> out before entering direct reclaim to not stall the allocating task.
>
> Reported-by: Jan Stancek <jstancek@redhat.com>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
> Cc: <stable@kernel.org> # 3.12+
Acked-by: Rik van Riel <riel@redhat.com>
--
All rights reversed
next prev parent reply other threads:[~2014-02-25 20:36 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-25 20:27 [patch 1/2] mm: page_alloc: reset aging cycle with GFP_THISNODE Johannes Weiner
2014-02-25 20:27 ` Johannes Weiner
2014-02-25 20:27 ` [patch 2/2] mm: fix GFP_THISNODE callers and clarify Johannes Weiner
2014-02-25 20:27 ` Johannes Weiner
2014-02-25 20:37 ` Rik van Riel
2014-02-25 20:37 ` Rik van Riel
2014-02-25 20:36 ` Rik van Riel [this message]
2014-02-25 20:36 ` [patch 1/2] mm: page_alloc: reset aging cycle with GFP_THISNODE Rik van Riel
2014-02-26 9:54 ` Mel Gorman
2014-02-26 9:54 ` Mel Gorman
2014-02-26 17:12 ` Johannes Weiner
2014-02-26 17:12 ` Johannes Weiner
2014-02-26 20:13 ` Johannes Weiner
2014-02-26 20:13 ` Johannes Weiner
2014-02-27 20:23 ` Rik van Riel
2014-02-27 20:23 ` Rik van Riel
2014-02-28 11:45 ` Mel Gorman
2014-02-28 11:45 ` Mel Gorman
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=530CFEDF.3060801@redhat.com \
--to=riel@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=jstancek@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
/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.