Re: bug? in __get_free_pages

Mark Hemment (markhe@nextd.demon.co.uk)
Tue, 4 Nov 1997 00:09:39 +0000 (GMT)


On Mon, 3 Nov 1997, Neilski wrote:
> If lots of pages are free, but none of them happen to be in the DMA-able
> region, then __get_free_pages() will fail to return DMA-able pages - as far as
> I can see... This happened to me today, I reckon.
>
> Is this a bug or a feature ?

Definitely a bug, and a long standing one at that.

I'm currently re-working mm/page_alloc.c to give page-colouring support,
along with lazy-coalescing, a simple fragmentation control, and the
ability to quickly re-alloc "cache-hot" pages. I'm also looking at the
DMA problem. (The colouring, lazy-coalescing, and "hot" handling are
working well in my limited test environment. The fragmentation control
needs some more work, and I'm only maintaining DMA counts at the moment -
but its getting there).

markhe