Re: Getting big areas of memory, in 2.3.x?

Ingo Molnar (mingo@chiara.csoma.elte.hu)
Thu, 9 Dec 1999 13:25:00 +0100 (CET)


On Wed, 8 Dec 1999, Jeff Garzik wrote:

> > > What's the best way to get a large region of DMA'able memory for use
> > > with framegrabbers and other greedy drivers?
> >
> > Do you need physically linear memory >
>
> Yes. For the Meteor-II grabber I don't think so, but it looks like the
> older (but mostly compatible) Corona needs it.

hm, you could use the bootmem allocator for now - it allocates a
physically continuous 165MB mem_map[] on my box just fine. The problem
with bootmem is that it's "too early" in the bootup process, you cannot
cleanly hook into it, because it's use is forbidden after
free_all_bootmem() is called.

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. Such areas can only be
freed via free_largemem(pages). Both calls will be slow, so should be only
used at driver initialization time and such.

-- mingo

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