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