From: Mel Gorman <mel@csn.ul.ie>
To: David Rientjes <rientjes@google.com>
Cc: Jiri Kosina <jkosina@suse.cz>,
Stephan von Krawczynski <skraw@ithnet.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@suse.de>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
Frans Pop <elendil@planet.nl>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: page allocation failure message kernel 2.6.31.4 (tty-related)
Date: Thu, 22 Oct 2009 11:59:02 +0100 [thread overview]
Message-ID: <20091022105902.GM11778@csn.ul.ie> (raw)
In-Reply-To: <alpine.DEB.2.00.0910211409390.20010@chino.kir.corp.google.com>
On Wed, Oct 21, 2009 at 02:16:56PM -0700, David Rientjes wrote:
> On Wed, 21 Oct 2009, Jiri Kosina wrote:
>
> > [ tty related CCs added ]
> >
>
> I think this is probably a duplicate of the GFP_ATOMIC page allocator
> issue at http://bugzilla.kernel.org/show_bug.cgi?id=14141 more than a tty
> issue.
>
Probably.
> Have we tried rolling back the refactored page allocator changes in 2.6.31
> to see if the logic has changed in other ways unrelated to kswapd?
No, but bisects around that area were inconclusive at best and there
are dependants that made backing it out problematic.
> There's subtleties like where rt tasks are given ALLOC_HARDER even when
> in_interrupt() that are different from previous kernels and could reduce
> the amount of ALLOC_HIGH and ALLOC_HARDER memory that can be allocated.
>
/me checks again
I think you're right. Correct it with something like?
==== CUT HERE ====
>From bca71e94e10cd93771ec5b17eccb817dd0c85360 Mon Sep 17 00:00:00 2001
From: Mel Gorman <mel@csn.ul.ie>
Date: Thu, 22 Oct 2009 11:55:14 +0100
Subject: [PATCH] page allocator: Do not allow interrupts to use ALLOC_HARDER
Commit 341ce06f69abfafa31b9468410a13dbd60e2b237 altered watermark logic
slightly by allowing rt_tasks that are handling an interrupt to set
ALLOC_HARDER. This patch brings the watermark logic more in line with
2.6.30.
Signed-off-by: Mel Gorman <mel@csn.ul.ie>
---
mm/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index a3e5fed..3ecf819 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1769,7 +1769,7 @@ gfp_to_alloc_flags(gfp_t gfp_mask)
* See also cpuset_zone_allowed() comment in kernel/cpuset.c.
*/
alloc_flags &= ~ALLOC_CPUSET;
- } else if (unlikely(rt_task(p)))
+ } else if (unlikely(rt_task(p)) && !in_interrupt())
alloc_flags |= ALLOC_HARDER;
if (likely(!(gfp_mask & __GFP_NOMEMALLOC))) {
next prev parent reply other threads:[~2009-10-22 10:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-20 13:38 Stephan von Krawczynski
2009-10-21 16:49 ` Jiri Kosina
2009-10-21 21:16 ` David Rientjes
2009-10-22 10:59 ` Mel Gorman [this message]
2009-10-22 12:36 ` Pekka Enberg
2009-10-22 12:51 ` Mel Gorman
2009-10-22 16:06 ` Stephan von Krawczynski
2009-10-22 16:10 ` Mel Gorman
2009-10-22 19:17 ` David Rientjes
2009-10-24 3:59 ` Rik van Riel
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=20091022105902.GM11778@csn.ul.ie \
--to=mel@csn.ul.ie \
--cc=a.p.zijlstra@chello.nl \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=elendil@planet.nl \
--cc=gregkh@suse.de \
--cc=jkosina@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=rientjes@google.com \
--cc=skraw@ithnet.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
all inboxes | Powered by JetHome®