* [2.4.9 SMP] alloc_pages failed
@ 2001-09-02 13:14 Igor Mozetic
2001-09-02 16:50 ` Daniel Phillips
2001-09-02 18:01 ` Daniel Phillips
0 siblings, 2 replies; 5+ messages in thread
From: Igor Mozetic @ 2001-09-02 13:14 UTC (permalink / raw)
To: linux-kernel
My box is dual Xeon 550, Intel C440GX+, 2GB RAM, AIC7XXX.
Last night I got log full of the following:
Sep 2 04:00:46 jerolim kernel: __alloc_pages: 0-order allocation failed.
Sep 2 04:00:47 jerolim last message repeated 208 times
Sep 2 04:00:47 jerolim kernel: ed.
...
Sep 2 04:01:29 jerolim kernel: eth0: can't fill rx buffer (force 0)!
Sep 2 04:01:29 jerolim kernel: eth0: Tx ring dump, Tx queue 4082238 / 4082238:
Sep 2 04:01:29 jerolim kernel: eth0: 0 200ca000.
...
-- Versions installed: (if some fields are empty or looks
-- unusual then possibly you have very old versions)
Linux jerolim 2.4.9 #1 SMP Fri Aug 17 11:33:44 CEST 2001 i686 unknown
Kernel modules 2.4.6
Gnu C 2.95.2
Binutils 2.9.5.0.37
Linux C Library 2.1.3
Dynamic linker ldd: version 1.9.11
Procps 2.0.6
Mount 2.10s
Net-tools 2.05
Console-tools 0.2.3
Sh-utils 2.0
Modules Loaded
No crash or obvious problems, four long jobs are still running OK.
Full details if needed, please CC to me.
-Igor Mozetic
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [2.4.9 SMP] alloc_pages failed
2001-09-02 13:14 [2.4.9 SMP] alloc_pages failed Igor Mozetic
@ 2001-09-02 16:50 ` Daniel Phillips
2001-09-02 17:19 ` Alex Bligh - linux-kernel
2001-09-02 18:01 ` Daniel Phillips
1 sibling, 1 reply; 5+ messages in thread
From: Daniel Phillips @ 2001-09-02 16:50 UTC (permalink / raw)
To: Igor Mozetic, linux-kernel
On September 2, 2001 03:14 pm, Igor Mozetic wrote:
> My box is dual Xeon 550, Intel C440GX+, 2GB RAM, AIC7XXX.
> Last night I got log full of the following:
>
> Sep 2 04:00:46 jerolim kernel: __alloc_pages: 0-order allocation failed.
> Sep 2 04:00:47 jerolim last message repeated 208 times
> Sep 2 04:00:47 jerolim kernel: ed.
Could you please apply this patch so we can see which kind of allocation is
failing (patch -p0):
--- ../2.4.9.clean/mm/page_alloc.c Thu Aug 16 12:43:02 2001
+++ ./mm/page_alloc.c Wed Aug 29 23:47:39 2001
@@ -493,6 +493,9 @@
}
/* XXX: is pages_min/4 a good amount to reserve for this? */
+ if (z->free_pages < z->pages_min / 3 && (gfp_mask & __GFP_WAIT) &&
+ !(current->flags & PF_MEMALLOC))
+ continue;
if (z->free_pages < z->pages_min / 4 &&
!(current->flags & PF_MEMALLOC))
continue;
On the assumption it's an atomic allocation, chould you try this patch and
see if it reduces the frequency:
--- 2.4.9.clean/mm/page_alloc.c Thu Aug 16 12:43:02 2001
+++ 2.4.9/mm/page_alloc.c Mon Aug 20 22:05:40 2001
@@ -502,7 +502,8 @@
}
/* No luck.. */
- printk(KERN_ERR "__alloc_pages: %lu-order allocation failed.\n", order);
+ printk(KERN_ERR "__alloc_pages: %lu-order allocation failed
(gfp=0x%x/%i).\n",
+ order, gfp_mask, !!(current->flags & PF_MEMALLOC));
return NULL;
}
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [2.4.9 SMP] alloc_pages failed
2001-09-02 16:50 ` Daniel Phillips
@ 2001-09-02 17:19 ` Alex Bligh - linux-kernel
2001-09-02 17:44 ` Daniel Phillips
0 siblings, 1 reply; 5+ messages in thread
From: Alex Bligh - linux-kernel @ 2001-09-02 17:19 UTC (permalink / raw)
To: Daniel Phillips, Igor Mozetic, linux-kernel; +Cc: Alex Bligh - linux-kernel
I think Daniel's two patches are the wrong way around. IE
the second (labelled as the first) is the instrumentation
to differentiate between different kinds of failure, and
the first (labelled as the second) is the attempt to
reserve extra pages for atomic allocations to reduce
0-order failures.
Alex Bligh
--On Sunday, 02 September, 2001 6:50 PM +0200 Daniel Phillips
<phillips@bonn-fries.net> wrote:
> On September 2, 2001 03:14 pm, Igor Mozetic wrote:
>> My box is dual Xeon 550, Intel C440GX+, 2GB RAM, AIC7XXX.
>> Last night I got log full of the following:
>>
>> Sep 2 04:00:46 jerolim kernel: __alloc_pages: 0-order allocation failed.
>> Sep 2 04:00:47 jerolim last message repeated 208 times
>> Sep 2 04:00:47 jerolim kernel: ed.
>
> Could you please apply this patch so we can see which kind of allocation
> is failing (patch -p0):
>
> --- ../2.4.9.clean/mm/page_alloc.c Thu Aug 16 12:43:02 2001
> +++ ./mm/page_alloc.c Wed Aug 29 23:47:39 2001
> @@ -493,6 +493,9 @@
> }
>
> /* XXX: is pages_min/4 a good amount to reserve for this? */
> + if (z->free_pages < z->pages_min / 3 && (gfp_mask & __GFP_WAIT) &&
> + !(current->flags & PF_MEMALLOC))
> + continue;
> if (z->free_pages < z->pages_min / 4 &&
> !(current->flags & PF_MEMALLOC))
> continue;
>
>
> On the assumption it's an atomic allocation, chould you try this patch
> and see if it reduces the frequency:
>
> --- 2.4.9.clean/mm/page_alloc.c Thu Aug 16 12:43:02 2001
> +++ 2.4.9/mm/page_alloc.c Mon Aug 20 22:05:40 2001
> @@ -502,7 +502,8 @@
> }
>
> /* No luck.. */
> - printk(KERN_ERR "__alloc_pages: %lu-order allocation failed.\n", order);
> + printk(KERN_ERR "__alloc_pages: %lu-order allocation failed
> (gfp=0x%x/%i).\n",
> + order, gfp_mask, !!(current->flags & PF_MEMALLOC));
> return NULL;
> }
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
Alex Bligh
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [2.4.9 SMP] alloc_pages failed
2001-09-02 17:19 ` Alex Bligh - linux-kernel
@ 2001-09-02 17:44 ` Daniel Phillips
0 siblings, 0 replies; 5+ messages in thread
From: Daniel Phillips @ 2001-09-02 17:44 UTC (permalink / raw)
To: Alex Bligh - linux-kernel, Igor Mozetic, linux-kernel
Cc: Alex Bligh - linux-kernel
On September 2, 2001 07:19 pm, Alex Bligh - linux-kernel wrote:
> I think Daniel's two patches are the wrong way around. IE
> the second (labelled as the first) is the instrumentation
> to differentiate between different kinds of failure, and
> the first (labelled as the second) is the attempt to
> reserve extra pages for atomic allocations to reduce
> 0-order failures.
Yes, indeed - cut & paste error.
--
Daniel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [2.4.9 SMP] alloc_pages failed
2001-09-02 13:14 [2.4.9 SMP] alloc_pages failed Igor Mozetic
2001-09-02 16:50 ` Daniel Phillips
@ 2001-09-02 18:01 ` Daniel Phillips
1 sibling, 0 replies; 5+ messages in thread
From: Daniel Phillips @ 2001-09-02 18:01 UTC (permalink / raw)
To: Igor Mozetic, linux-kernel
(reposted to correct cut & pasted errors)
On September 2, 2001 03:14 pm, Igor Mozetic wrote:
> My box is dual Xeon 550, Intel C440GX+, 2GB RAM, AIC7XXX.
> Last night I got log full of the following:
>
> Sep 2 04:00:46 jerolim kernel: __alloc_pages: 0-order allocation failed.
> Sep 2 04:00:47 jerolim last message repeated 208 times
> Sep 2 04:00:47 jerolim kernel: ed.
Could you please apply this patch so we can see which kind of allocation is
failing (patch -p0):
--- 2.4.9.clean/mm/page_alloc.c Thu Aug 16 12:43:02 2001
+++ 2.4.9/mm/page_alloc.c Mon Aug 20 22:05:40 2001
@@ -502,7 +502,8 @@
}
/* No luck.. */
- printk(KERN_ERR "__alloc_pages: %lu-order allocation failed.\n", order);
+ printk(KERN_ERR "__alloc_pages: %lu-order allocation failed (gfp=0x%x/%i).\n",
+ order, gfp_mask, !!(current->flags & PF_MEMALLOC));
return NULL;
}
On the assumption it's an atomic allocation, chould you try this patch and
see if it reduces the frequency:
--- ../2.4.9.clean/mm/page_alloc.c Thu Aug 16 12:43:02 2001
+++ ./mm/page_alloc.c Wed Aug 29 23:47:39 2001
@@ -493,6 +493,9 @@
}
/* XXX: is pages_min/4 a good amount to reserve for this? */
+ if (z->free_pages < z->pages_min / 3 && (gfp_mask & __GFP_WAIT) &&
+ !(current->flags & PF_MEMALLOC))
+ continue;
if (z->free_pages < z->pages_min / 4 &&
!(current->flags & PF_MEMALLOC))
continue;
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2001-09-02 17:54 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-02 13:14 [2.4.9 SMP] alloc_pages failed Igor Mozetic
2001-09-02 16:50 ` Daniel Phillips
2001-09-02 17:19 ` Alex Bligh - linux-kernel
2001-09-02 17:44 ` Daniel Phillips
2001-09-02 18:01 ` Daniel Phillips
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®