On August 22, 2001 02:04 am, Stephan von Krawczynski wrote:
> Daniel Phillips <phillips@bonn-fries.net> wrote:
>
> > > Aug 21 20:14:51 admin kernel: __alloc_pages: 3-order allocation failed
> > > (gfp=0x20/0).
> > > Aug 21 20:14:51 admin last message repeated 146 times
> > >
> > > Next idea?
> >
> > It's an atomic allocation, the driver is supposed to be able to handle
> > this, and it does since you report that the burn just runs slowly, it
> > does not stop. There is way too much in cache:
> >
> > > total: used: free: shared: buffers: cached:
> > > Mem: 1053675520 1047502848 6172672 0 20930560 939307008
> > > Swap: 271392768 15880192 255512576
> >
> > This is causing the high order allocation failures - with only a small
> > fraction of memory free the chances of none of it being in contiguous,
> > aligned 8 page units rises dramatically.
>
> I basically thought the same. In fact I do not understand why. Are there any
> parameters tunable to balance the whole picture a bit more towards the free
> pages?
I'd like to try to isolate the cause a little more. Can you please try the
following patch and see if it improves the cache balance. (This would not
be a good solution, it will just help show what is happening.)
--- ../2.4.9.clean/mm/filemap.c Thu Aug 16 14:12:07 2001
+++ ./mm/filemap.c Wed Aug 22 01:11:44 2001
@@ -980,7 +980,7 @@
static inline void check_used_once (struct page *page)
{
if (!PageActive(page)) {
- if (page->age)
+ if (page->age > 8)
activate_page(page);
else {
page->age = PAGE_AGE_START;
-
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/
This archive was generated by hypermail 2b29 : Thu Aug 23 2001 - 21:00:46 EST