Re: drm + 4GB RAM + swiotlb = drm craps out

From: Andi Kleen
Date: Mon Apr 02 2007 - 02:41:07 EST


On Mon, Apr 02, 2007 at 03:38:48PM +1000, Dave Airlie wrote:
> Doesn't __get_free_pages give me physically linear memory, which while
> nice it isn't essential for what I need, so if I can't get my full
> allocation I could in theory just start to fallback down the orders
> and calling it multiple times to actually get the amount of memory I

You get linear memory. Just get individual pages.

If you want to merge them you can use vmap(),
but in the kernel you should probably just fix your in kernel
code to not require that and work with sg lists.

If you get the pages piece by piece you can also more easily
remap them linearly into user space.

> need, this just seems overly cumbersome when what I really want is
> vmalloc_32 to just work correctly on 64-bit systems... (why doesn't
> vmalloc_32 pass __GFP_DMA32 to the allocator????)

It probably should, but see second part of sentence above.

And please never put closed lists in cc of l-k posts. Evil cc dropped.

-Andi

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/