public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Martin MOKREJ? <mmokrejs@natur.cuni.cz>
Cc: linux-kernel@vger.kernel.org,
	Linus Torvalds <torvalds@transmeta.com>,
	Marcelo Tosatti <marcelo@conectiva.com.br>
Subject: Re: __alloc_pages: 0-order allocation failed still in -pre12
Date: Thu, 20 Sep 2001 00:39:56 +0200	[thread overview]
Message-ID: <20010920003956.X720@athlon.random> (raw)
In-Reply-To: <Pine.OSF.4.21.0109121502420.18976-100000@prfdec.natur.cuni.cz> <Pine.OSF.4.21.0109191615070.3826-100000@prfdec.natur.cuni.cz>
In-Reply-To: <Pine.OSF.4.21.0109191615070.3826-100000@prfdec.natur.cuni.cz>; from mmokrejs@natur.cuni.cz on Wed, Sep 19, 2001 at 04:21:43PM +0200

On Wed, Sep 19, 2001 at 04:21:43PM +0200, Martin MOKREJ? wrote:
> Hi,
>   I tried 2.4.10-pre12 and run some mysql big tests (actually
> mysql/tests/fork_big.pl ). And, the load is coming up and down from 17 to
> 6 .... and now, it's 1.7 only and I see in dmesg:
> 
> __alloc_pages: 0-order allocation failed (gfp=0x20/0) from c012e3e2
> __alloc_pages: 0-order allocation failed (gfp=0x20/0) from c012e3e2

Ok, I'm pretty certain I got it, I didn't noticed here because it can be
reproduced only with HIGHMEM and I didn't had time to test highmem yet
(btw, highmem emulation would been enough to reproduce it).

It was really an allocator bug. Totally untested fix appended
but recommended anyways for integration.

Marcelo can you also test it in your workload (feel free to use eepro100
too now).

--- 2.4.10pre11aa1/mm/page_alloc.c.~1~	Tue Sep 18 15:39:50 2001
+++ 2.4.10pre11aa1/mm/page_alloc.c	Thu Sep 20 00:36:11 2001
@@ -369,6 +369,7 @@
 		return NULL;
 	}
 
+ rebalance:
 	page = balance_classzone(classzone, gfp_mask, order, &freed);
 	if (page)
 		return page;
@@ -380,10 +381,13 @@
 			if (!z)
 				break;
 
-			page = rmqueue(z, order);
-			if (page)
-				return page;
+			if (zone_free_pages(z, order) > z->pages_min) {
+				page = rmqueue(z, order);
+				if (page)
+					return page;
+			}
 		}
+		goto rebalance;
 	} else {
 		/* 
 		 * Check that no other task is been killed meanwhile,

Andrea

      parent reply	other threads:[~2001-09-19 22:39 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-04 13:11 __alloc_pages: 0-order allocation failed Martin MOKREJŠ
2001-09-04 16:12 ` Daniel Phillips
2001-09-07 12:53   ` Martin MOKREJŠ
2001-09-07 13:06   ` Martin MOKREJŠ
2001-09-07 20:43     ` Daniel Phillips
2001-09-07 21:00     ` Daniel Phillips
2001-09-12 13:06       ` Martin MOKREJŠ
2001-09-19 14:21         ` __alloc_pages: 0-order allocation failed still in -pre12 Martin MOKREJŠ
2001-09-19 15:03           ` Martin MOKREJŠ
2001-09-19 15:16           ` Rik van Riel
2001-09-19 15:51             ` Martin MOKREJŠ
2001-09-19 22:34           ` Shane Wegner
2001-09-19 22:45             ` Andrea Arcangeli
2001-09-20  2:31               ` Shane Wegner
2001-09-20  2:36                 ` Andrea Arcangeli
2001-09-20  2:36                 ` Shane Wegner
2001-09-20  2:52                   ` Andrea Arcangeli
2001-09-20 15:02                     ` Randy.Dunlap
2001-09-21  1:54                       ` Keith Owens
2001-09-20  9:57                 ` Cannot compile 2.4.10pre12aa1 with 2.95.2 on Debian Martin MOKREJŠ
2001-09-20 10:10                   ` Magnus Naeslund(f)
2001-09-20 10:26                     ` Martin MOKREJŠ
2001-09-20 10:26                     ` Magnus Naeslund(f)
2001-09-20 10:59                     ` Perf improvements in 2.4.10pre12aa1 Martin MOKREJŠ
2001-09-20 15:28                       ` Martin MOKREJŠ
2001-09-20 15:40                         ` Martin MOKREJŠ
2001-09-20 10:24                   ` [PATCH] Make kernel build numbers work again (was: Re: Cannot compile 2.4.10pre12aa1 with 2.95.2 on Debian) Russell King
2001-09-20 12:54                     ` Alan Cox
2001-09-19 22:39           ` Andrea Arcangeli [this message]

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=20010920003956.X720@athlon.random \
    --to=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    --cc=mmokrejs@natur.cuni.cz \
    --cc=torvalds@transmeta.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