Messages in this thread | | | Date | Mon, 10 Dec 2001 09:16:53 -0800 | From | "Martin J. Bligh" <> | Subject | Re: mm question |
| |
>>> > 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/
| |