2.2.xx __get_free_pages fails for GFP_KERNEL case

From: Prasanna Narayana (prasanna@veritas.com)
Date: Thu Apr 13 2000 - 16:01:24 EST


We are getting a failure from __get_free_pages even with GFP_KERNEL flag.
It turns out that there is enough memory but not in the free_areas
in the "order" (or more) that we are requesting.

NonDMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB = 0kB)
DMA: 0*4kB 71*8kB 78*16kB 44*32kB 14*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB = 4120kB)

nr_free_pages is 0x406
freepages.{min,low,high} = {0x100, 0x200, 0x300}

so try_to_free_pages() doesn't get called either from here or kswapd().

It looks logical to call try_to_free_pages() at the end of
__get_free_pages(). Any reason why it isn't done that way ?

If try_to_free_pages() is EXPORTed, then we could call it from
our driver on a failure case.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Apr 15 2000 - 21:00:22 EST