Re: Can Linux live without DMA zone?

From: Phillip Susi
Date: Sun Nov 05 2006 - 21:29:29 EST


Jun Sun wrote:
Perhaps a better solution is to

1. get rid of DMA zone

2. have another alloc funciton (e.g., kmalloc_range()) which takes an
extra pair of parameters to indicate the desired range for the
allocated memory. Most DMA buffers are allocated during start-up.
So the alloc operations should generally be successful.

3. convert drivers over to use the new function.

Cheers.

Jun
are allocated at start-up time.

That is what I was thinking. You don't need lots of separate pools, you just need the standard allocator to prefer higher addresses, and then the bounce routines need to simply check if the existing user buffer happens to already be within the area the hardware can address ( which it often will be ), and if not, copy the data to pages allocated in lower memory.


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