Thread (2 messages) 2 messages, 2 authors, 2009-06-03

Re: [PATCH v2 08/11] async_tx: add support for asynchronous GF multiplication

From: Dan Williams <hidden>
Date: 2009-06-03 22:16:17

2009/5/29 Sosnowski, Maciej [off-list ref]:
Dan Williams wrote:
quoted
+               /* Since we have clobbered the src_list we are committed
+                * to doing this asynchronously.  Drivers force forward
+                * progress in case they can not provide a descriptor
+                */
+               for (;;) {
+                       tx = dma->device_prep_dma_pq(chan, dma_dest,
+                                                    &dma_src[src_off],
+                                                    pq_src_cnt,
+                                                    &coefs[src_off], len,
+                                                    dma_flags);
+                       if (likely(tx))
+                               break;
+                       async_tx_quiesce(&submit->depend_tx);
+                       dma_async_issue_pending(chan);
+               }
How about adding a timeout to the loop in case we do not get a descriptor at all for some reason?
There is an embedded timeout in async_tx_quiesce().  However, now that
we have the ->scribble pointer a future patch could make it a
requirement of the api.  With that in place we would always be able to
fall back to the synchronous at any point because the input parameters
would be preserved.

Thanks,
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" 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