2012-07-16 04:28:55

by Qiang Liu

[permalink] [raw]
Subject: [PATCH v3 0/4] Raid: enable talitos xor offload for improving performance

The following 4 patches enabling fsl-dma and talitos offload raid
operations for improving raid performance and balancing CPU load.

Write performance will be improved by 25-30% tested by iozone.
Write performance is improved about 2% after using spin_lock_bh replace
spin_lock_irqsave.
CPU load will be reduced by 8%.

Changes in v3:
- change release process of fsl-dma descriptor for resolve the
potential race condition
- add test result when use spin_lock_bh replace spin_lock_irqsave
- modify the benchmark results according to the latest patch

Changes in v2:
- rebase onto cryptodev tree
- split the patch 3/4 up to 3 independent patches
- remove the patch 4/4, the fix is not for cryptodev tree


Qiang Liu (4):
Talitos: Support for async_tx XOR offload
fsl-dma: remove attribute DMA_INTERRUPT of dmaengine
fsl-dma: change release process of dma descriptor for supporting async_tx
fsl-dma: use spin_lock_bh to instead of spin_lock_irqsave

drivers/crypto/Kconfig | 9 +
drivers/crypto/talitos.c | 410 +++++++++++++++++++++++++++++++++++++++++++
drivers/crypto/talitos.h | 53 ++++++
drivers/dma/fsldma.c | 436 +++++++++++++++++++++++++---------------------
drivers/dma/fsldma.h | 1 +
5 files changed, 708 insertions(+), 201 deletions(-)


2012-07-17 01:06:27

by Kim Phillips

[permalink] [raw]
Subject: Re: [PATCH v3 0/4] Raid: enable talitos xor offload for improving performance

On Mon, 16 Jul 2012 12:07:16 +0800
Qiang Liu <[email protected]> wrote:

> drivers/crypto/Kconfig | 9 +
> drivers/crypto/talitos.c | 410 +++++++++++++++++++++++++++++++++++++++++++
> drivers/crypto/talitos.h | 53 ++++++
> drivers/dma/fsldma.c | 436 +++++++++++++++++++++++++---------------------
> drivers/dma/fsldma.h | 1 +
> 5 files changed, 708 insertions(+), 201 deletions(-)

Given the pending talitos patches, this patchseries doesn't apply
cleanly: can you rebase onto [1], which is based on Herbert's
cryptodev tree and contain's Horia's four patches? They didn't get
any negative comments, so I assume eventually they will be applied,
and doing so will make Herbert's life easier.

I applied the series on Herbert's cryptodev, and while fsldma
already had this build warning:

drivers/dma/fsldma.c: In function 'fsl_dma_tx_submit':
drivers/dma/fsldma.c:636:2: warning: 'cookie' may be used uninitialized in this function [-Wuninitialized]

this patchseries introduces a new one:

drivers/dma/fsldma.c: In function 'dma_do_tasklet':
drivers/dma/fsldma.c:1134:16: warning: unused variable 'flags' [-Wunused-variable]

I'll wait for a re-post, after these and Ira's comments are
addressed, before trying to test again.

Thanks,

Kim

[1] git://git.freescale.com/crypto/cryptodev.git

2012-07-17 04:02:04

by Liu Qiang-B32616

[permalink] [raw]
Subject: RE: [PATCH v3 0/4] Raid: enable talitos xor offload for improving performance

> -----Original Message-----
> From: Phillips Kim-R1AAHA
> Sent: Tuesday, July 17, 2012 9:04 AM
> To: Liu Qiang-B32616
> Cc: [email protected]; [email protected]; Li Yang-
> R58472; [email protected]; [email protected]
> Subject: Re: [PATCH v3 0/4] Raid: enable talitos xor offload for
> improving performance
>
> On Mon, 16 Jul 2012 12:07:16 +0800
> Qiang Liu <[email protected]> wrote:
>
> > drivers/crypto/Kconfig | 9 +
> > drivers/crypto/talitos.c | 410
> +++++++++++++++++++++++++++++++++++++++++++
> > drivers/crypto/talitos.h | 53 ++++++
> > drivers/dma/fsldma.c | 436 +++++++++++++++++++++++++-------------
> --------
> > drivers/dma/fsldma.h | 1 +
> > 5 files changed, 708 insertions(+), 201 deletions(-)
>
> Given the pending talitos patches, this patchseries doesn't apply
> cleanly: can you rebase onto [1], which is based on Herbert's
> cryptodev tree and contain's Horia's four patches? They didn't get
> any negative comments, so I assume eventually they will be applied,
> and doing so will make Herbert's life easier.
>
> I applied the series on Herbert's cryptodev, and while fsldma
> already had this build warning:
>
> drivers/dma/fsldma.c: In function 'fsl_dma_tx_submit':
> drivers/dma/fsldma.c:636:2: warning: 'cookie' may be used uninitialized
> in this function [-Wuninitialized]
Kim, I will fix it in an another separate patch.

>
> this patchseries introduces a new one:
>
> drivers/dma/fsldma.c: In function 'dma_do_tasklet':
> drivers/dma/fsldma.c:1134:16: warning: unused variable 'flags' [-Wunused-
> variable]
Sorry, my bad. I will correct it in v4 5/6 (according to Li Yang's comments,
v3 3/4 should be split up). Thanks.

>
> I'll wait for a re-post, after these and Ira's comments are
> addressed, before trying to test again.
I agree, I think his comments is very important.

>
> Thanks,
>
> Kim
>
> [1] git://git.freescale.com/crypto/cryptodev.git