On 4/11/2014 2:30 PM, Jiang, Dave wrote:
On Fri, 2014-04-11 at 14:15 -0700, Simon Ustimenko wrote:
we've been playing around with the I/OAT DMA, trying to make it copy
from main memory to the MMIO, and we're facing troubles (incomplete
transfers, kernel oops).
Surprisingly, we have no problems with the DMA in the opposite direction.
On the Xeon platform memory -> MMIO is supported, MMIO to memory and
between MMIO is not. Not that you want to read from PCIe anyhow as the
performance is bad. PCIe Writes are posted and reads are not. You can
take a look at the NTB driver drivers/ntb/ in its usage of the IOATDMA
transfer from mem -> mmio as an example. What kind of kernel oops are
you hitting? And you have no issues using the CPU to copy the data to
those regions?
Thanks Dave, for your response.
Sorry, cannot answer about the kernel oops. I don't really have the code
that was used or much of the details. Only the verbal testimony claiming
that the mem -> mmio copy with ioatdma "didn't work", blaming the IOAT
hardware being "broken", which I find hard to believe. Hence the whole
question about whether anyone else have ever used the IOAT for mem ->
mmio copying in production?
I know, however, that copying using the CPU works fine.
Regards,
Simon
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html