[PATCH v3 3/4] fsl-dma: change release process of dma descriptor for supporting async_tx

Li Yang leoli at freescale.com
Tue Jul 17 13:36:41 EST 2012


On Mon, Jul 16, 2012 at 12:08 PM, Qiang Liu <qiang.liu at freescale.com> wrote:
> Fix the potential risk when enable config NET_DMA and ASYNC_TX.
> Async_tx is lack of support in current release process of dma descriptor,
> all descriptors will be released whatever is acked or no-acked by async_tx,
> so there is a potential race condition when dma engine is uesd by others
> clients (e.g. when enable NET_DMA to offload TCP).
>
> In our case, a race condition which is raised when use both of talitos
> and dmaengine to offload xor is because napi scheduler will sync all
> pending requests in dma channels, it affects the process of raid operations
> due to ack_tx is not checked in fsl dma. The no-acked descriptor is freed
> which is submitted just now, as a dependent tx, this freed descriptor trigger
> BUG_ON(async_tx_test_ack(depend_tx)) in async_tx_submit().
>
> Cc: Dan Williams <dan.j.williams at intel.com>
> Cc: Vinod Koul <vinod.koul at intel.com>
> Cc: Li Yang <leoli at freescale.com>
> Cc: Ira W. Snyder <iws at ovro.caltech.edu>
> Signed-off-by: Qiang Liu <qiang.liu at freescale.com>

Also separate the function ordering change and real code change into
different patches when you work on the next patch set.

- Leo


More information about the Linuxppc-dev mailing list