Thread (8 messages) flat view 8 messages, 4 authors, 2012-07-18

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

From: Liu Qiang-B32616 <hidden>
Date: 2012-07-17 04:03:18
Also in: linuxppc-dev

-----Original Message-----
From: linux-crypto-owner@vger.kernel.org [mailto:linux-crypto-
owner@vger.kernel.org] On Behalf Of Li Yang
Sent: Tuesday, July 17, 2012 11:37 AM
To: Liu Qiang-B32616
Cc: linux-crypto@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; Ira W.
Snyder; Vinod Koul; herbert@gondor.hengli.com.au; Dan Williams;
davem@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 [off-list ref]
wrote:
quoted
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).
quoted
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 <redacted>
Cc: Vinod Koul <redacted>
Cc: Li Yang <redacted>
Cc: Ira W. Snyder <redacted>
Signed-off-by: Qiang Liu <redacted>
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@vger.kernel.org More majordomo info
at  http://vger.kernel.org/majordomo-info.html
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help