Re: Linux driver: __get_free_pages()

Arnaldo Carvalho de Melo (acme@conectiva.com.br)
Thu, 11 Jan 2001 17:09:03 -0200


Em Thu, Jan 11, 2001 at 12:39:33PM -0800, Paul Powell escreveu:

> Our driver is trying to allocate a DMA buffer to flash an adapter's
> firmware. This can require as much as 512K ( of contiguous DMA memory ).
> We are using the function __get_free_pages( GFP_KERNEL | GFP_DMA, order)
> . The call is failing if 'order' is greater than 6. The problem is seen
> on systems with system memory of only 64MB. It works fine on systems
> with more memory. Does it make sense that a system with 64MB would not
> have 512K ( contiguous ) available? The most that can be allocated
> successfully on the 64MB system appears to be 256K. (Nothing else is
> running that would eat up 64MB of memory).

> Does this make sense and/or is there another way that the DMA memory
> could be allocated successfully?

look at mm/bootmem.c

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