Re: mm question

Martin J. Bligh (Martin.Bligh@us.ibm.com)
Mon, 10 Dec 2001 09:16:53 -0800


>>> > I was hoping for something more elegant, but I am not adverse to writing
>>> > my own get_free_page_from_range().
>>>
>>> Thats not a trivial task.
>>
>> Better than giving up.. Unfortunately looking around in
>> linux/Documentation and drivers did not yield much in terms of
>> explanation. I know I can use mem_map_reserve to reserve a page but I
>> don't know how to get page struct from a physical address nor which lock
>> to use when messing with this.
>
> If you don't have any ISA DMA going on in the system, you might consider
> bastardising the ZONE_DMA page range by moving the boundary up to
> 64Mb, then fixing the allocator not to fail back ZONE_NORMAL et al
> allocations to ZONE_DMA. Thus what was originally ZONE_DMA becomes
> a sort of ZONE_NO_DMA. Not in the slightest bit pretty, but it might be easier
> to implement. Depends if you ever want it to get back into the main tree,
> I guess ;-)

Of course, if you just did that, you'd never use the ZONE_DMA memory, so
that's pretty pointless ;-) You need to create an alloc call with an *option*
to force alloc out of ZONE_NORMAL, not make no fallback the default.

M.

-
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/