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

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

flat view

From: Li Yang <hidden>
Date: 2012-07-17 03:36:42
Also in: linuxppc-dev

On Mon, Jul 16, 2012 at 12:08 PM, Qiang Liu [off-list ref] 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 <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.

- Leo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help