linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: mel@skynet.ie (Mel Gorman)
To: Nicolas Mailhot <nicolas.mailhot@laposte.net>
Cc: Christoph Lameter <clameter@sgi.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	"bugme-daemon@kernel-bugs.osdl.org"
	<bugme-daemon@bugzilla.kernel.org>
Subject: Re: [Bug 8464] New: autoreconf: page allocation failure. order:2, mode:0x84020
Date: Sat, 12 May 2007 17:42:37 +0100	[thread overview]
Message-ID: <20070512164237.GA2691@skynet.ie> (raw)
In-Reply-To: <1178957491.4095.2.camel@rousalka.dyndns.org>

On (12/05/07 10:11), Nicolas Mailhot didst pronounce:
> Le vendredi 11 mai 2007 a 21:36 +0100, Mel Gorman a ecrit :
> 
> > I'm pretty sure I have. I recreated the tree and reverted the same patch as
> > you and regenerated the diff below. I sent it to myself and it appeared ok
> > and another automated system was able to use it.
> > 
> > In case it's a mailer problem, the patch can be downloaded from
> > http://www.csn.ul.ie/~mel/kswapd-minorder.patch . 
> 
> This one applies, but the kernel still has allocation failures (I just
> found rpm -Va was a good trigger). So so far we have two proposed fixes
> none of which work
> 

Sorry about this. What is most preplexing is that the memory was free.
In your log we see;

> May 12 10:00:47 rousalka kernel: DMA: 6*4kB 4*8kB 9*16kB 3*32kB 6*64kB 7*128kB 5*256kB 0*512kB 1*1024kB 0*2048kB 1*4096kB = 7976kB
> May 12 10:00:47 rousalka kernel: DMA32: 2619*4kB 27*8kB 6*16kB 0*32kB 0*64kB 2*128kB 0*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 11556kB

and

> May 12 10:00:47 rousalka kernel: DMA: 6*4kB 4*8kB 9*16kB 3*32kB 6*64kB 7*128kB 5*256kB 0*512kB 1*1024kB 0*2048kB 1*4096kB = 7976kB
> May 12 10:00:47 rousalka kernel: DMA32: 1651*4kB 29*8kB 10*16kB 0*32kB 0*64kB 2*128kB 0*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 7764kB

order-2 (at least 19 pages but more are there) and higher pages were free
and this was a NORMAL allocation. It should also be above watermarks so
something screwy is happening

*peers suspiciously*

Can you try the following patch on top of the kswapd patch please? It is
also available from http://www.csn.ul.ie/~mel/watermarks.patch

diff -rup -X /usr/src/patchset-0.6/bin//dontdiff linux-2.6.21-mm2-revertmd/mm/page_alloc.c linux-2.6.21-mm2-watermarks/mm/page_alloc.c
--- linux-2.6.21-mm2-revertmd/mm/page_alloc.c	2007-05-11 21:16:57.000000000 +0100
+++ linux-2.6.21-mm2-watermarks/mm/page_alloc.c	2007-05-12 17:34:10.000000000 +0100
@@ -1627,7 +1627,7 @@ restart:
 	/* This allocation should allow future memory freeing. */
 
 rebalance:
-	if (((p->flags & PF_MEMALLOC) || unlikely(test_thread_flag(TIF_MEMDIE)))
+	if (((p->flags & PF_MEMALLOC) || unlikely(test_thread_flag(TIF_MEMDIE) || !wait))
 			&& !in_interrupt()) {
 		if (!(gfp_mask & __GFP_NOMEMALLOC)) {
 nofail_alloc:
@@ -1636,7 +1636,7 @@ nofail_alloc:
 				zonelist, ALLOC_NO_WATERMARKS);
 			if (page)
 				goto got_pg;
-			if (gfp_mask & __GFP_NOFAIL) {
+			if (gfp_mask & __GFP_NOFAIL && wait) {
 				congestion_wait(WRITE, HZ/50);
 				goto nofail_alloc;
 			}
-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

--
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:[~2007-05-12 16:42 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200705102128.l4ALSI2A017437@fire-2.osdl.org>
2007-05-10 21:43 ` Andrew Morton
2007-05-10 21:49   ` Christoph Lameter
2007-05-10 22:06     ` Mel Gorman
2007-05-10 22:11       ` Christoph Lameter
2007-05-10 22:16         ` Mel Gorman
2007-05-10 22:27           ` Christoph Lameter
2007-05-10 22:44             ` Mel Gorman
2007-05-10 22:49               ` Christoph Lameter
2007-05-10 23:00                 ` Mel Gorman
2007-05-10 23:01                   ` Christoph Lameter
2007-05-11  5:56                     ` Nicolas Mailhot
2007-05-11  9:08                       ` Mel Gorman
2007-05-11 11:51                         ` Nicolas Mailhot
2007-05-11 17:38                           ` Mel Gorman
2007-05-11 17:45                             ` Nicolas Mailhot
2007-05-11 18:30                               ` Nicolas Mailhot
2007-05-11 20:36                                 ` Mel Gorman
2007-05-12  8:11                                   ` Nicolas Mailhot
2007-05-12 16:42                                     ` Mel Gorman [this message]
2007-05-12 18:09                                       ` Nicolas Mailhot
2007-05-12 18:58                                         ` Nicolas Mailhot
2007-05-12 19:24                                           ` Mel Gorman
2007-05-13  8:16                                             ` Nicolas Mailhot
2007-05-11 17:46                             ` Christoph Lameter

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=20070512164237.GA2691@skynet.ie \
    --to=mel@skynet.ie \
    --cc=akpm@linux-foundation.org \
    --cc=bugme-daemon@bugzilla.kernel.org \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nicolas.mailhot@laposte.net \
    /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