Thread (16 messages) 16 messages, 3 authors, 2017-02-10

[PATCH v2 2/5] async_tx: Handle DMA devices having support for fewer PQ coefficients

From: Dan Williams <hidden>
Date: 2017-02-09 16:45:06
Also in: linux-crypto, linux-devicetree, linux-raid, lkml

On Thu, Feb 9, 2017 at 1:29 AM, Anup Patel [off-list ref] wrote:
On Wed, Feb 8, 2017 at 9:54 PM, Dan Williams [off-list ref] wrote:
quoted
On Wed, Feb 8, 2017 at 12:57 AM, Anup Patel [off-list ref] wrote:
quoted
On Tue, Feb 7, 2017 at 11:46 PM, Dan Williams [off-list ref] wrote:
quoted
On Tue, Feb 7, 2017 at 1:02 AM, Anup Patel [off-list ref] wrote:
quoted
On Tue, Feb 7, 2017 at 1:57 PM, Dan Williams [off-list ref] wrote:
quoted
On Tue, Feb 7, 2017 at 12:16 AM, Anup Patel [off-list ref] wrote:
quoted
The DMAENGINE framework assumes that if PQ offload is supported by a
DMA device then all 256 PQ coefficients are supported. This assumption
does not hold anymore because we now have BCM-SBA-RAID offload engine
which supports PQ offload with limited number of PQ coefficients.

This patch extends async_tx APIs to handle DMA devices with support
for fewer PQ coefficients.

Signed-off-by: Anup Patel <redacted>
Reviewed-by: Scott Branden <scott.branden@broadcom.com>
I don't like this approach. Define an interface for md to query the
offload engine once at the beginning of time. We should not be adding
any new extensions to async_tx.
Even if we do capability checks in Linux MD, we still need a way
for DMAENGINE drivers to advertise number of PQ coefficients
handled by the HW.

I agree capability checks should be done once in Linux MD but I don't
see why this has to be part of BCM-SBA-RAID driver patches. We need
separate patchsets to address limitations of async_tx framework.
Right, separate enabling before we pile on new hardware support to a
known broken framework.
Linux Async Tx not broken framework. The issue is:
1. Its not complete enough
2. Its not optimized for very high through-put offload engines
I'm not understanding your point. I'm nak'ing this change to add yet
more per-transaction capability checking to async_tx. I don't like the
DMA_HAS_FEWER_PQ_COEF flag, especially since it is equal to
DMA_HAS_PQ_CONTINUE. I'm not asking for all of async_tx's problems to
be fixed before this new hardware support, I'm simply saying we should
start the process of moving offload-engine capability checking to the
raid code.
The DMA_HAS_FEWER_PQ_COEF is not equal to
DMA_HAS_PQ_CONTINUE.
#define DMA_HAS_PQ_CONTINUE (1 << 15
#define DMA_HAS_FEWER_PQ_COEF (1 << 15)
I will try to drop this patch and take care of unsupported PQ
coefficients in BCM-SBA-RAID driver itself even if this means
doing some computations in BCM-SBA-RAID driver itself.
That should be nak'd as well, please do capability detection in a
routine that is common to all raid engines.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help