Messages in this thread | | | Date | Mon, 10 Dec 2001 10:03:47 -0500 (EST) | From | volodya@mindspri ... | Subject | Re: mm question |
| |
On Mon, 10 Dec 2001, Alan Cox wrote:
> > It does not have to be contiguous. I was thinking of simply starting with > > the smallest address and trying to free the pages until the needed amount > > is available. But I have no idea how to properly do locking or force the > > page to be swapped out or something. > > You can simply get_free_page() 300K of pages. However you can't land them > in a given band other than the existing "below 16Mb" "below 4Gb" "anywhere" > bands.
Right, but then my card refuses to dma into anything with address smaller than 04000000.
I have thought of doing get_free_page until I have enough of pages with large addresses (and then free all the small ones as 64mb is a finite amount) but this would place a big load on the system during buffer allocation.
I was hoping for something more elegant, but I am not adverse to writing my own get_free_page_from_range().
Vladimir Dergachev
> > Alan > - > 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/ >
- 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/
| |