On Thu, Dec 05, 2002 at 01:38:47PM +1100, David Gibson wrote:
> It seems the "try to get consistent memory, but otherwise give me
> inconsistent" is only useful on machines which:
> (1) Are not fully consisent, BUT
> (2) Can get consistent memory without disabling the cache, BUT
> (3) Not very much of it, so you might run out.
>
> The point is, there has to be an advantage to using consistent memory
> if it is available AND the possibility of it not being available.
Agreed here. Add to this
(4) quite silly from an API taste perspective.
> Otherwise, drivers which absolutely need consistent memory, no matter
> the cost, should use consistent_alloc(), all other drivers just use
> kmalloc() (or whatever) then use the DMA flushing functions which
> compile to NOPs on platforms with consistent memory.
Ug. This is travelling backwards in time.
kmalloc is not intended to allocate memory for DMA'ing. I (and others)
didn't spend all that time converting drivers to the PCI DMA API just to
see all that work undone.
Note that I am speaking from a driver API perspective, however. If you
are talking about using kmalloc "under the hood" while still presenting
the same driver interface, that's fine.
Jeff
-
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/
This archive was generated by hypermail 2b29 : Sat Dec 07 2002 - 22:00:21 EST