* Re: __alloc_pages: 0-order allocation failed still in -pre12
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
` (2 subsequent siblings)
3 siblings, 0 replies; 29+ messages in thread
From: Martin MOKREJŠ @ 2001-09-19 15:03 UTC (permalink / raw)
To: linux-kernel
Hi,
one more addition:
I used mysqldump to dump some big database, and here's something weird:
jerboas:/mnt# ls -la
total 372024
drwxr-xr-x 2 root root 80 Sep 19 16:34 .
drwxr-xr-x 20 root root 4096 Sep 19 11:32 ..
-rw-r--r-- 1 root root 380946064 Sep 19 16:35 Celegans.sql
jerboas:/mnt# ls -la
ls: Celegans.sql: Value too large for defined data type
total 4
drwxr-xr-x 2 root root 80 Sep 19 16:34 .
drwxr-xr-x 20 root root 4096 Sep 19 11:32 ..
[1]- Done /usr/local/mysql/bin/mysqldump -hlocalhost -P3306 -upedant Celegans >Celegans.sql
jerboas:/mnt# ls -la
ls: Celegans.sql: Value too large for defined data type
total 4
drwxr-xr-x 2 root root 80 Sep 19 16:34 .
drwxr-xr-x 20 root root 4096 Sep 19 11:32 ..
jerboas:/mnt#
Running `mc' in this directory says:
File 'Celegans.sql' exists but can not be stat-ed: Value too large for defined data type
It's on freshly made reiserfs filesystem, if it helps.
Sep 19 16:32:28 jerboas kernel: reiserfs: checking transaction log (device 03:41) ...
Sep 19 16:32:30 jerboas kernel: Using r5 hash to sort names
Sep 19 16:32:30 jerboas kernel: ReiserFS version 3.6.25
The source mysql directory on reiserfs on different disk, has 1693948 kB
(multiple files). In the /mnt it should the dump be all in one file, also
on reiserfs. The machine has 1GB RAM, SMP kernel, HIGHMEM enabled.
--
Martin Mokrejs - PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
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:39 ` __alloc_pages: 0-order allocation failed still in -pre12 Andrea Arcangeli
3 siblings, 1 reply; 29+ messages in thread
From: Rik van Riel @ 2001-09-19 15:16 UTC (permalink / raw)
To: Martin MOKREJŠ; +Cc: linux-kernel
On Wed, 19 Sep 2001, [iso-8859-2] Martin MOKREJ© wrote:
> I tried 2.4.10-pre12
> I have to say I've been using for a week without any "0-order allocation
> failed" patch from Marcelo. Now I see am back to the old stage. ;(
Impossible, the VM code which is in 2.4.10-pre11 and newer
wasn't published until sunday night, so you can't have been
using it for a week already. ;)
cheers,
Rik
--
IA64: a worthy successor to i860.
http://www.surriel.com/ http://distro.conectiva.com/
Send all your spam to aardvark@nl.linux.org (spam digging piggy)
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
2001-09-19 15:16 ` Rik van Riel
@ 2001-09-19 15:51 ` Martin MOKREJŠ
0 siblings, 0 replies; 29+ messages in thread
From: Martin MOKREJŠ @ 2001-09-19 15:51 UTC (permalink / raw)
To: Rik van Riel; +Cc: linux-kernel
On Wed, 19 Sep 2001, Rik van Riel wrote:
> On Wed, 19 Sep 2001, [iso-8859-2] Martin MOKREJŠ wrote:
>
> > I tried 2.4.10-pre12
>
> > I have to say I've been using for a week without any "0-order allocation
> > failed" patch from Marcelo. Now I see am back to the old stage. ;(
>
> Impossible, the VM code which is in 2.4.10-pre11 and newer
> wasn't published until sunday night, so you can't have been
> using it for a week already. ;)
Sorry, again: I'm currently using plain 2.4.9 patched with -pre12.
I get the allocation errors. I got the image from kernel.dk/testing/ today
morning, as someone posted this address on the list.
My previous kernel is plain 2.4.9 patched with Marcelo's patched and in a
week period I did not receive nay single error message like that.
--
Martin Mokrejs - PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
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 22:34 ` Shane Wegner
2001-09-19 22:45 ` Andrea Arcangeli
2001-09-19 22:39 ` __alloc_pages: 0-order allocation failed still in -pre12 Andrea Arcangeli
3 siblings, 1 reply; 29+ messages in thread
From: Shane Wegner @ 2001-09-19 22:34 UTC (permalink / raw)
To: Martin MOKREJ?; +Cc: linux-kernel, Andrea Arcangeli
Hi,
I'm getting the same thing here. At least it looks similar
though I'm not sure what's causing it. Dual PIII 850, 1gb
ram, 300mb swap.
__alloc_pages: 0-order allocation failed (gfp=0x20/0) from
c012e052
__alloc_pages: 0-order allocation failed (gfp=0x20/0) from
c012e052
__alloc_pages: 0-order allocation failed (gfp=0x20/0) from
c012e052
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
--
Shane Wegner: shane@cm.nu
http://www.cm.nu/~shane/
PGP: 1024D/FFE3035D
A0ED DAC4 77EC D674 5487
5B5C 4F89 9A4E FFE3 035D
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
2001-09-19 22:34 ` Shane Wegner
@ 2001-09-19 22:45 ` Andrea Arcangeli
2001-09-20 2:31 ` Shane Wegner
0 siblings, 1 reply; 29+ messages in thread
From: Andrea Arcangeli @ 2001-09-19 22:45 UTC (permalink / raw)
To: Shane Wegner; +Cc: Martin MOKREJ?, linux-kernel
On Wed, Sep 19, 2001 at 03:34:41PM -0700, Shane Wegner wrote:
> Hi,
>
> I'm getting the same thing here. At least it looks similar
> though I'm not sure what's causing it. Dual PIII 850, 1gb
^^^ perfect
> ram, 300mb swap.
>
> __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> c012e052
> __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> c012e052
> __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> c012e052
yes, please try this fix and let me know if it helps:
--- 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
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
2001-09-19 22:45 ` Andrea Arcangeli
@ 2001-09-20 2:31 ` Shane Wegner
2001-09-20 2:36 ` Andrea Arcangeli
` (2 more replies)
0 siblings, 3 replies; 29+ messages in thread
From: Shane Wegner @ 2001-09-20 2:31 UTC (permalink / raw)
To: Andrea Arcangeli; +Cc: Martin MOKREJ?, linux-kernel
On Thu, Sep 20, 2001 at 12:45:43AM +0200, Andrea Arcangeli wrote:
> On Wed, Sep 19, 2001 at 03:34:41PM -0700, Shane Wegner wrote:
> >
> > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > c012e052
> > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > c012e052
> > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > c012e052
>
> yes, please try this fix and let me know if it helps:
After some stress testing, the fix does appear to fix the
error.
Shane
--
Shane Wegner: shane@cm.nu
http://www.cm.nu/~shane/
PGP: 1024D/FFE3035D
A0ED DAC4 77EC D674 5487
5B5C 4F89 9A4E FFE3 035D
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
2001-09-20 2:31 ` Shane Wegner
@ 2001-09-20 2:36 ` Andrea Arcangeli
2001-09-20 2:36 ` Shane Wegner
2001-09-20 9:57 ` Cannot compile 2.4.10pre12aa1 with 2.95.2 on Debian Martin MOKREJŠ
2 siblings, 0 replies; 29+ messages in thread
From: Andrea Arcangeli @ 2001-09-20 2:36 UTC (permalink / raw)
To: Shane Wegner
Cc: Martin MOKREJ?, linux-kernel, Linus Torvalds, Marcelo Tosatti
On Wed, Sep 19, 2001 at 07:31:28PM -0700, Shane Wegner wrote:
> On Thu, Sep 20, 2001 at 12:45:43AM +0200, Andrea Arcangeli wrote:
> > On Wed, Sep 19, 2001 at 03:34:41PM -0700, Shane Wegner wrote:
> > >
> > > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > > c012e052
> > > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > > c012e052
> > > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > > c012e052
> >
> > yes, please try this fix and let me know if it helps:
>
> After some stress testing, the fix does appear to fix the
> error.
good, what about the performance, is it all right?
Andrea
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
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 9:57 ` Cannot compile 2.4.10pre12aa1 with 2.95.2 on Debian Martin MOKREJŠ
2 siblings, 1 reply; 29+ messages in thread
From: Shane Wegner @ 2001-09-20 2:36 UTC (permalink / raw)
To: Andrea Arcangeli; +Cc: linux-kernel
On Wed, Sep 19, 2001 at 07:31:28PM -0700, Shane Wegner wrote:
> On Thu, Sep 20, 2001 at 12:45:43AM +0200, Andrea Arcangeli wrote:
> > On Wed, Sep 19, 2001 at 03:34:41PM -0700, Shane Wegner wrote:
> > >
> > > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > > c012e052
> > > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > > c012e052
> > > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > > c012e052
> >
> > yes, please try this fix and let me know if it helps:
>
> After some stress testing, the fix does appear to fix the
> error.
Hi,
Well just after I sent the email, it came up again.
Sep 19 19:31:52 continuum kernel: __alloc_pages: 0-order
allocation failed (gfp=0x20/0) from c012e052
Sep 19 19:33:51 continuum kernel: __alloc_pages: 0-order
allocation failed (gfp=0x20/0) from c012e052
Shane
--
Shane Wegner: shane@cm.nu
http://www.cm.nu/~shane/
PGP: 1024D/FFE3035D
A0ED DAC4 77EC D674 5487
5B5C 4F89 9A4E FFE3 035D
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
2001-09-20 2:36 ` Shane Wegner
@ 2001-09-20 2:52 ` Andrea Arcangeli
2001-09-20 15:02 ` Randy.Dunlap
0 siblings, 1 reply; 29+ messages in thread
From: Andrea Arcangeli @ 2001-09-20 2:52 UTC (permalink / raw)
To: Shane Wegner; +Cc: linux-kernel, Linus Torvalds, Marcelo Tosatti
On Wed, Sep 19, 2001 at 07:36:49PM -0700, Shane Wegner wrote:
> On Wed, Sep 19, 2001 at 07:31:28PM -0700, Shane Wegner wrote:
> > On Thu, Sep 20, 2001 at 12:45:43AM +0200, Andrea Arcangeli wrote:
> > > On Wed, Sep 19, 2001 at 03:34:41PM -0700, Shane Wegner wrote:
> > > >
> > > > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > > > c012e052
> > > > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > > > c012e052
> > > > __alloc_pages: 0-order allocation failed (gfp=0x20/0) from
> > > > c012e052
> > >
> > > yes, please try this fix and let me know if it helps:
> >
> > After some stress testing, the fix does appear to fix the
> > error.
>
> Hi,
>
> Well just after I sent the email, it came up again.
>
>
> Sep 19 19:31:52 continuum kernel: __alloc_pages: 0-order
> allocation failed (gfp=0x20/0) from c012e052
> Sep 19 19:33:51 continuum kernel: __alloc_pages: 0-order
> allocation failed (gfp=0x20/0) from c012e052
did it happen as frequently/easily as before or did you need to stress
it much harder? And I'm also curious what happens if we simply lower the
watemark (possibly it was too high). Anyways the other patch is a good
idea to apply anyways.
So can now try the below new one?
--- 2.4.10pre11aa1/mm/page_alloc.c.~1~ Thu Sep 20 00:36:11 2001
+++ 2.4.10pre11aa1/mm/page_alloc.c Thu Sep 20 04:45:44 2001
@@ -346,7 +346,7 @@
if (!z)
break;
- if (zone_free_pages(z, order) > (gfp_mask & __GFP_HIGH ? z->pages_min / 2 : z->pages_min)) {
+ if (zone_free_pages(z, order) > (gfp_mask & __GFP_HIGH ? z->pages_min / 4 : z->pages_min)) {
page = rmqueue(z, order);
if (page)
return page;
the fact is, kswapd is the only entity meant to shrink the caches for
the atomic pages, it exactly knows what are the zones that needs to be
balanced and we have a min-min/2 of pages of GAP that must be refilled
in time. It just seems kswapd doesn't cope with the frequency of the
allocations sometime, this may be ok but maybe we must find a way to
more aggressively free memory for the atomic allocations or it could
simply mean that the watermark GAP was too small as Marcelo just
suggested previously.
Can you also resolve "c012e052" so we know who's allocating those pages
just in case?
Andrea
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
2001-09-20 2:52 ` Andrea Arcangeli
@ 2001-09-20 15:02 ` Randy.Dunlap
2001-09-21 1:54 ` Keith Owens
0 siblings, 1 reply; 29+ messages in thread
From: Randy.Dunlap @ 2001-09-20 15:02 UTC (permalink / raw)
To: Andrea Arcangeli; +Cc: Shane Wegner, linux-kernel
Andrea Arcangeli wrote:
>
> Can you also resolve "c012e052" so we know who's allocating those pages
> just in case?
It's trivial to do that, of course, but if someone needs an
automated way to do it (several times, easy lookup), you can
try http://www.osdlab.org/sw_resources/scripts/ksysmap .
Usage is: ksysmap [system_map_file] offset
and it spits out address/symbol before offset, exact match if
present, and address/symbol after offset.
Example:
[rddunlap@dragon linux]$ ksysmap ./System.map-249acpi c012e052
ksysmap: searching './System.map-249acpi' for 'c012e052'
c012df20 T sys_truncate
c012e052 ..... <<<<<
c012e0a0 T sys_ftruncate
~Randy
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
2001-09-20 15:02 ` Randy.Dunlap
@ 2001-09-21 1:54 ` Keith Owens
0 siblings, 0 replies; 29+ messages in thread
From: Keith Owens @ 2001-09-21 1:54 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: linux-kernel
On Thu, 20 Sep 2001 08:02:45 -0700,
"Randy.Dunlap" <rddunlap@osdlab.org> wrote:
>Usage is: ksysmap [system_map_file] offset
>and it spits out address/symbol before offset, exact match if
I like it!
Idea pinched for ksymoops 2.4.3; ksymoops -A "address list", any words
in the -A list are treated as addresses and looked up in the composite
system map, including modules.
^ permalink raw reply [flat|nested] 29+ messages in thread
* Cannot compile 2.4.10pre12aa1 with 2.95.2 on Debian
2001-09-20 2:31 ` Shane Wegner
2001-09-20 2:36 ` Andrea Arcangeli
2001-09-20 2:36 ` Shane Wegner
@ 2001-09-20 9:57 ` Martin MOKREJŠ
2001-09-20 10:10 ` Magnus Naeslund(f)
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
2 siblings, 2 replies; 29+ messages in thread
From: Martin MOKREJŠ @ 2001-09-20 9:57 UTC (permalink / raw)
To: Shane Wegner; +Cc: Andrea Arcangeli, linux-kernel
Hi,
first of all, thanks to Andrea. I had a bit hard time to find sources of
his kernel-patches.
Note to the FAQ maintainer: there isn't mentioned the source for -ac and
-aa kernels.
I found that I need 2.4.9 patched to -pre12 and patched afterwards with
http://www.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.10pre12aa1.bz2
Using my old configuration for kernel I get after "make dep; make bzImage"
gcc -D__KERNEL__ -I/usr/src/linux-2.4.10-pre12/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -c -o init/main.o init/main.c
In file included from /usr/src/linux-2.4.10-pre12/linux/include/linux/mm.h:4,
from /usr/src/linux-2.4.10-pre12/linux/include/linux/slab.h:14,
from /usr/src/linux-2.4.10-pre12/linux/include/linux/proc_fs.h:5,
from init/main.c:15:
/usr/src/linux-2.4.10-pre12/linux/include/linux/sched.h:423: warning: `PF_USEDFPU' redefined
/usr/src/linux-2.4.10-pre12/linux/include/linux/sched.h:421: warning: this is the location of the previous definition
. scripts/mkversion > .version
gcc -D__KERNEL__ -I/usr/src/linux-2.4.10-pre12/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -DUTS_MACHINE='"i386"' -c -o init/version.o init/version.c
make CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.10-pre12/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 " -C kernel
make[1]: Entering directory `/usr/src/linux-2.4.10-pre12/linux/kernel'
make all_targets
make[2]: Entering directory `/usr/src/linux-2.4.10-pre12/linux/kernel'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.10-pre12/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -fno-omit-frame-pointer -c -o sched.o sched.c
In file included from /usr/src/linux-2.4.10-pre12/linux/include/linux/mm.h:4,
from sched.c:24:
/usr/src/linux-2.4.10-pre12/linux/include/linux/sched.h:423: warning: `PF_USEDFPU' redefined
/usr/src/linux-2.4.10-pre12/linux/include/linux/sched.h:421: warning: this is the location of the previous definition
sched.c: In function `reschedule_idle':
sched.c:234: warning: `oldest_idle' might be used uninitialized in this function
sched.c: In function `sys_sched_yield':
sched.c:1130: warning: control reaches end of non-void function
sched.c: At top level:
sched.c:1135: parse error before `if'
sched.c:1142: parse error before `->'
make[2]: *** [sched.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.10-pre12/linux/kernel'
Note to Andrea, while you mention in your post to linux-kernel list
Changelog of your kernel relase, you do not mention for newbies like me se
source site and maybe "How to apply" would help also. ;)
Thanks for replies! ;-)
--
Martin Mokrejs - PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Cannot compile 2.4.10pre12aa1 with 2.95.2 on Debian
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Š
` (2 more replies)
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
1 sibling, 3 replies; 29+ messages in thread
From: Magnus Naeslund(f) @ 2001-09-20 10:10 UTC (permalink / raw)
To: Martin MOKREJ©; +Cc: linux-kernel
From: "Martin MOKREJ©" <mmokrejs@natur.cuni.cz>
There are two defines for that FPU thing around line 421 in sched.c, take
one away (i deleted the 1<<6 one).
I'm running that kernel now.
Magnus
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Cannot compile 2.4.10pre12aa1 with 2.95.2 on Debian
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Š
2 siblings, 0 replies; 29+ messages in thread
From: Martin MOKREJŠ @ 2001-09-20 10:26 UTC (permalink / raw)
To: Magnus Naeslund(f); +Cc: linux-kernel
On Thu, 20 Sep 2001, Magnus Naeslund(f) wrote:
> From: "Martin MOKREJŠ" <mmokrejs@natur.cuni.cz>
>
> There are two defines for that FPU thing around line 421 in sched.c, take
> one away (i deleted the 1<<6 one).
I've just compiled and am going to reboot, one more note:
gcc -D__KERNEL__ -I/usr/src/linux-2.4.10-pre12/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -c -o pci-pc.o pci-pc.c
{standard input}: Assembler messages:
{standard input}:1116: Warning: indirect lcall without `*'
{standard input}:1201: Warning: indirect lcall without `*'
{standard input}:1288: Warning: indirect lcall without `*'
{standard input}:1370: Warning: indirect lcall without `*'
{standard input}:1381: Warning: indirect lcall without `*'
{standard input}:1392: Warning: indirect lcall without `*'
{standard input}:1479: Warning: indirect lcall without `*'
{standard input}:1491: Warning: indirect lcall without `*'
{standard input}:1503: Warning: indirect lcall without `*'
{standard input}:1990: Warning: indirect lcall without `*'
{standard input}:2083: Warning: indirect lcall without `*'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.10-pre12/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -c -o pci-irq.o pci-irq.c
--
Martin Mokrejs - PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Cannot compile 2.4.10pre12aa1 with 2.95.2 on Debian
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Š
2 siblings, 0 replies; 29+ messages in thread
From: Magnus Naeslund(f) @ 2001-09-20 10:26 UTC (permalink / raw)
To: linux-kernel; +Cc: Martin MOKREJ©
From: "Magnus Naeslund(f)" <mag@fbab.net>
> From: "Martin MOKREJ©" <mmokrejs@natur.cuni.cz>
>
> There are two defines for that FPU thing around line 421 in sched.c, take
> one away (i deleted the 1<<6 one).
>
... And that should have been sched.h, as Martin kindly pointed out ;)
I meant something like this:
--- sched.h~ Thu Sep 20 10:20:44 2001
+++ sched.h Thu Sep 20 11:29:06 2001
@@ -418,7 +418,9 @@
#define PF_DUMPCORE (1UL<<3) /* dumped core */
#define PF_SIGNALED (1UL<<4) /* killed by a signal */
#define PF_MEMALLOC (1UL<<5) /* Allocating memory */
-#define PF_USEDFPU (1UL<<6) /* task used FPU this quantum (SMP)
*/
#define PF_ATOMICALLOC (1UL<<7) /* do not block during memalloc */
#define PF_USEDFPU (1UL<<8) /* task used FPU this quantum (SMP)
*/
#define PF_FREE_PAGES (1UL<<9) /* per process page freeing */
Magnus
^ permalink raw reply [flat|nested] 29+ messages in thread
* Perf improvements in 2.4.10pre12aa1
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 ` Martin MOKREJŠ
2001-09-20 15:28 ` Martin MOKREJŠ
2 siblings, 1 reply; 29+ messages in thread
From: Martin MOKREJŠ @ 2001-09-20 10:59 UTC (permalink / raw)
To: Magnus Naeslund(f); +Cc: linux-kernel
Hi,
I've just started some tests to try to repeat the memory allocation
errors. I see the aa1 kernel is twice fast as -pre12!? Is this expected?
I have 2x intelPIII 933MHz, 1GB RAM, HIGMEM kernel, ReiserFS, aic7xxx,
eepro100.
linux-2.4.10-pre12
dbench 16: Throughput 67.8566 MB/sec (NB=84.8208 MB/sec 678.566 MBit/sec) 16 procs
Yesterday after havy tests and after memory alloc. errors already
appeared:
total: used: free: shared: buffers: cached:
Mem: 1054490624 880287744 174202880 0 4653056 460627968
Swap: 2147467264 42909696 2104557568
MemTotal: 1029776 kB
MemFree: 170120 kB
MemShared: 0 kB
Buffers: 4544 kB
Cached: 448416 kB
SwapCached: 1416 kB
Active: 377868 kB
Inactive: 76508 kB
HighTotal: 131072 kB
HighFree: 2044 kB
LowTotal: 898704 kB
LowFree: 168076 kB
SwapTotal: 2097136 kB
SwapFree: 2055232 kB
linux-2.4.10-pre12aa1
dbench 16: Throughput 141.659 MB/sec (NB=177.074 MB/sec 1416.59 MBit/sec) 16 procs
Now after fresh bootup and just after I started first tests:
total: used: free: shared: buffers: cached:
Mem: 1054412800 110338048 944074752 0 8560640 59211776
Swap: 2147467264 0 2147467264
MemTotal: 1029700 kB
MemFree: 921948 kB
MemShared: 0 kB
Buffers: 8360 kB
Cached: 57824 kB
SwapCached: 0 kB
Active: 0 kB
Inactive: 66184 kB
HighTotal: 131072 kB
HighFree: 58612 kB
LowTotal: 898628 kB
LowFree: 863336 kB
SwapTotal: 2097136 kB
SwapFree: 2097136 kB
The documentation to dbech is a bit sparse (README,INSTALL). It's a bit
offtopic, but would someone explain me where does the dbench write, into
which directory? I performed the tests above under same user and in same
tmp/ directory, to be sure. Maybe it was not necessary at all. ;)
Thanks
--
Martin Mokrejs - PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Perf improvements in 2.4.10pre12aa1
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Š
0 siblings, 1 reply; 29+ messages in thread
From: Martin MOKREJŠ @ 2001-09-20 15:28 UTC (permalink / raw)
To: linux-kernel
On Thu, 20 Sep 2001, Martin MOKREJŠ wrote:
Hi,
stupid to reply to myself, but ...
> linux-2.4.10-pre12
> dbench 16: Throughput 67.8566 MB/sec (NB=84.8208 MB/sec 678.566 MBit/sec) 16 procs
> linux-2.4.10-pre12aa1
> dbench 16: Throughput 141.659 MB/sec (NB=177.074 MB/sec 1416.59 MBit/sec) 16 procs
Hmm, now after few ours of running mysql tests I have (while still running):
linux-2.4.10-pre12aa1
dbench 16: Throughput 41.1484 MB/sec (NB=51.4356 MB/sec 411.484 MBit/sec) 16 procs
Load so far up to 7 (yesterday even 16, but thatt dependes of course while
test is currently being run).
And, well oh NO!, it's here again:
__alloc_pages: 0-order allocation failed (gfp=0x20/0) from c012f852
How can I find what mean those (gfp=0x20/0) from c012f852 ?
Current situation:
total: used: free: shared: buffers: cached:
Mem: 1054412800 845828096 208584704 0 3731456 476766208
Swap: 2147467264 61083648 2086383616
MemTotal: 1029700 kB
MemFree: 203696 kB
MemShared: 0 kB
Buffers: 3644 kB
Cached: 464100 kB
SwapCached: 1492 kB
Active: 318896 kB
Inactive: 150340 kB
HighTotal: 131072 kB
HighFree: 2044 kB
LowTotal: 898628 kB
LowFree: 201652 kB
SwapTotal: 2097136 kB
SwapFree: 2037484 kB
5:29pm up 4:58, 3 users, load average: 5.61, 6.04, 6.32
--
Martin Mokrejs - PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: Perf improvements in 2.4.10pre12aa1
2001-09-20 15:28 ` Martin MOKREJŠ
@ 2001-09-20 15:40 ` Martin MOKREJŠ
0 siblings, 0 replies; 29+ messages in thread
From: Martin MOKREJŠ @ 2001-09-20 15:40 UTC (permalink / raw)
To: linux-kernel
On Thu, 20 Sep 2001, Martin MOKREJŠ wrote:
There was an answer already posted, amazing!
> And, well oh NO!, it's here again:
> __alloc_pages: 0-order allocation failed (gfp=0x20/0) from c012f852
ksysmap: searching '/boot/System.map-2.4.10-pre12aa1' for 'c012f852'
c012f83c T _alloc_pages
c012f852 ..... <<<<<
c012f854 t balance_classzone
--
Martin Mokrejs - PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH] Make kernel build numbers work again (was: Re: Cannot compile 2.4.10pre12aa1 with 2.95.2 on Debian)
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:24 ` Russell King
2001-09-20 12:54 ` Alan Cox
1 sibling, 1 reply; 29+ messages in thread
From: Russell King @ 2001-09-20 10:24 UTC (permalink / raw)
To: linux-kernel; +Cc: Alan Cox, Linus Torvalds
On Thu, Sep 20, 2001 at 11:57:02AM +0200, Martin MOKREJ© wrote:
> . scripts/mkversion > .version
People,
As I'm sure you're all aware, being experts in userland programming, that
the above obviously cannot work and is totally bogus.
The mkversion script contains:
if [ ! -f .version ]
then
echo 1
else
expr 0`cat .version` + 1
fi
but wait! As far as the script is concerned, .version will always exist
because its created before the script is run (the open occurs, the file is
truncated, and passed to the script as STDOUT).
This has a nice effect - the build number of the kernel is now fixed at '1'.
So, why don't we get rid of the above crap and just do "echo 1 > .version"
and be done with it? ;)
Alternatively, the following patch fixes things such that we can read the
original .version file within the script, if it existed prior to invocation,
and produce the correct build number.
Note that as illustrated by the previous poster, -linus now has the problem,
and -ac also has the same. The following patch was generated against
2.4.9-ac10, but should apply to both trees without problem.
--- ref/Makefile Wed Sep 19 14:00:24 2001
+++ linux/Makefile Thu Sep 20 11:19:43 2001
@@ -234,7 +234,7 @@
drivers/sound/pndsperm.c \
drivers/sound/pndspini.c \
drivers/atm/fore200e_*_fw.c drivers/atm/.fore200e_*.fw \
- .version .config* config.in config.old \
+ .version* .config* config.in config.old \
scripts/tkparse scripts/kconfig.tk scripts/kconfig.tmp \
scripts/lxdialog/*.o scripts/lxdialog/lxdialog \
.menuconfig.log \
@@ -306,7 +306,8 @@
$(TOPDIR)/include/linux/compile.h: include/linux/compile.h
newversion:
- . scripts/mkversion > .version
+ . scripts/mkversion > .version.tmp
+ @mv -f .version.tmp .version
include/linux/compile.h: $(CONFIGURATION) include/linux/version.h newversion
@echo -n \#define UTS_VERSION \"\#`cat .version` > .ver
--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: __alloc_pages: 0-order allocation failed still in -pre12
2001-09-19 14:21 ` __alloc_pages: 0-order allocation failed still in -pre12 Martin MOKREJŠ
` (2 preceding siblings ...)
2001-09-19 22:34 ` Shane Wegner
@ 2001-09-19 22:39 ` Andrea Arcangeli
3 siblings, 0 replies; 29+ messages in thread
From: Andrea Arcangeli @ 2001-09-19 22:39 UTC (permalink / raw)
To: Martin MOKREJ?; +Cc: linux-kernel, Linus Torvalds, Marcelo Tosatti
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
^ permalink raw reply [flat|nested] 29+ messages in thread