Messages in this thread | | | From | "Stephen C. Tweedie" <> | Date | Fri, 10 Dec 1999 13:52:32 +0000 (GMT) | Subject | Re: Getting big areas of memory, in 2.3.x? |
| |
Hi,
On Thu, 9 Dec 1999 13:25:00 +0100 (CET), Ingo Molnar <mingo@chiara.csoma.elte.hu> said:
> hm, does anyone have any conceptual problem with a new > allocate_largemem(pages) interface in page_alloc.c? It's not > terribly hard to scan all bitmaps for available RAM and mark the > large memory area allocated and remove all pages from the > freelists.
Even better: the zoned allocator makes it pretty easy to reserve (say) the top 25% of memory for use only by freeable (ie. page cache and anonymous) pages: just make a separate zone for that. If there is memory that you know you can reshuffle, then a slow, swapout-style exhaustive VM search will eventually let you allocate any page you want from that zone (barring only mlock()ed pages).
That's maybe more work than we want for a problem which may disappear eventually of its own accord: a lot of AGP chipsets these days have a GART which is visible from the PCI side, and that lets you map discontiguous physical pages into a virtual region which looks contiguous to the PCI hardware. There's similar hardware on the Sparc and Alpha PCI boxes (is it universal on PCI buses on those platforms?)
--Stephen
- 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/
| |