Thread (21 messages) 21 messages, 5 authors, 2006-03-30

Re: [PATCH 1/8] [I/OAT] DMA memcpy subsystem

From: Andrew Grover <hidden>
Date: 2006-03-30 18:27:46
Also in: lkml

On 3/30/06, Kumar Gala [off-list ref] wrote:
I was under the impression that the DMA engine would provide a "sync"
cpu based memcpy (PIO) if a real HW channel wasn't avail, if this is
left to the client that's fine.  So how does the client know he
should use normal memcpy()?
It has to keep track of what DMA channel to use, which it gets when
the channel ADDED callback happens. So it's basically

if (some_client_struct->dma_chan)
    dma_memcpy()
else
    memcpy()

The async memcpy has the added requirement that at some point the
client must verify the copies have been completed, so doing async
memcopies does require more work on the client's part.
Sounds good for a start.  Have you given any thoughts on handling
priorities between clients?

I need to take a look at the latest patches. How would you guys like
modifications?
Haven't given any thought to priorities yet -- we've been focusing on
getting the 1 client case to perform well. :)

Chris posted a link to this: git://198.78.49.142/~cleech/linux-2.6
branch ioat-2.6.17

So you can post patches against that, or the patches posted here apply
against davem's git tree.

Regards -- Andy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help