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

Liu Qiang-B32616 B32616 at freescale.com
Tue Jul 17 14:03:06 EST 2012


> -----Original Message-----
> From: linux-crypto-owner at vger.kernel.org [mailto:linux-crypto-
> owner at vger.kernel.org] On Behalf Of Li Yang
> Sent: Tuesday, July 17, 2012 11:37 AM
> To: Liu Qiang-B32616
> Cc: linux-crypto at vger.kernel.org; linuxppc-dev at lists.ozlabs.org; Ira W.
> Snyder; Vinod Koul; herbert at gondor.hengli.com.au; Dan Williams;
> davem at davemloft.net
> Subject: Re: [PATCH v3 3/4] fsl-dma: change release process of dma
> descriptor for supporting async_tx
> 
> 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.
Accept, I will spilt it up in v4. Thanks.

> 
> - Leo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-crypto"
> in the body of a message to majordomo at vger.kernel.org More majordomo info
> at  http://vger.kernel.org/majordomo-info.html



More information about the Linuxppc-dev mailing list