Re: [RFC v2 1/2] PCI-Express Non-Transparent Bridge Support

From: Jiang, Dave
Date: Tue Jul 31 2012 - 22:18:41 EST



On Jul 31, 2012, at 7:10 PM, "Jianbin Kang" <kjbmail@xxxxxxxxx> wrote:

>> Actually this is what I'm working on now, using async_tx to replace the
>> memcpy. I believe the changes shouldn't be that significant.
>>
>> Is the "hardware that can setup dma" you refer to something that does
>> not use this interface?
>>
>
> Yes, they use this interface, but split 'memcpy_toio' to two operation:
> 1. setup dma
> 2. wait/poll for the dma to finish.
> So maybe it need to provide a generic function 'tx' for different hardwares.
>
It's not worth it to do sync DMA. The performance is terrible.

> If async_tx is available, it's much better than this 'sync dma/memcpy'.
> One problem with async_tx is, it can't detect memcpy error.
> If the remote ntb goes down when async_memcpy is in operation, async_tx
> will trigger an oops.

Yes that is something that needs to be addressed when we get async DMA support working. --
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/