All of lore.kernel.org
 help / color / mirror / Atom feed
From: Iuliana Prodan <iuliana.prodan@nxp.com>
To: Corentin Labbe <clabbe.montjoie@gmail.com>,
	"alexandre.torgue@st.com" <alexandre.torgue@st.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"herbert@gondor.apana.org.au" <herbert@gondor.apana.org.au>,
	"mcoquelin.stm32@gmail.com" <mcoquelin.stm32@gmail.com>,
	"mripard@kernel.org" <mripard@kernel.org>,
	"wens@csie.org" <wens@csie.org>,
	Horia Geanta <horia.geanta@nxp.com>,
	Aymen Sghaier <aymen.sghaier@nxp.com>
Cc: "linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-stm32@st-md-mailman.stormreply.com" 
	<linux-stm32@st-md-mailman.stormreply.com>,
	"linux-sunxi@googlegroups.com" <linux-sunxi@googlegroups.com>
Subject: Re: [PATCH RFC 00/10] crypto: engine: permit to batch requests
Date: Thu, 16 Jan 2020 11:33:24 +0000	[thread overview]
Message-ID: <VI1PR04MB444530675D82743E8AFFD8FE8C360@VI1PR04MB4445.eurprd04.prod.outlook.com> (raw)
In-Reply-To: 20200114135936.32422-1-clabbe.montjoie@gmail.com

On 1/14/2020 3:59 PM, Corentin Labbe wrote:
> Hello
> 
> The sun8i-ce hardware can work on multiple requests in one batch.
> For this it use a task descriptor, and chain them.
> For the moment, the driver does not use this mechanism and do requests
> one at a time and issue an irq for each.
> 
> Using the chaning will permit to issue less interrupts, and increase
> thoughput.
> 
> But the crypto/engine can enqueue lots of requests but can ran them only
> one by one.
> 
> This serie introduce a way to batch requests in crypto/engine by
> - setting a batch limit (1 by default)
> - refactor the prepare/unprepare code to permit to have x requests
>    prepared/unprepared at the same time.
> 
> For testing the serie, the selftest are not enough, since it issue
> request one at a time.
> I have used LUKS for testing it.
> 
> Please give me what you think about this serie, specially maintainers
> which have hardware with the same kind of capability.
> 
Hi,

I'm working on CAAM, on adding support for crypto-engine.
These modifications are not working on CAAM.
They seem to be specific to requests that are linked. CAAM can work on 
multiple request, at the same time, but they are processed independently.
So, I believe the parallelization is a good idea, but the requests still 
need to be independent.
I'll follow up with comments on each patch.

Also, IMO you should send the patches for crypto-engine improvements in 
a separate series from the one for allwinner driver.

Thanks,
Iulia

> Regards
> 
> Corentin Labbe (10):
>    crypto: sun8i-ce: move iv data to request context
>    crypto: sun8i-ce: increase task list size
>    crypto: sun8i-ce: split into prepare/run/unprepare
>    crypto: sun8i-ce: introduce the slot number
>    crypto: engine: transform cur_req in an array
>    crypto: engine: introduce ct
>    crypto: sun8i-ce: handle slot > 0
>    crypto: engine: add slot parameter
>    crypto: engine: permit to batch requests
>    crypto: sun8i-ce: use the new batch mechanism
> 
>   crypto/crypto_engine.c                        |  76 +++++++----
>   .../allwinner/sun8i-ce/sun8i-ce-cipher.c      | 121 +++++++++++++-----
>   .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c |  17 ++-
>   drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h  |  17 ++-
>   drivers/crypto/omap-aes-gcm.c                 |   2 +-
>   drivers/crypto/omap-aes.c                     |   4 +-
>   drivers/crypto/omap-des.c                     |   4 +-
>   drivers/crypto/stm32/stm32-cryp.c             |   8 +-
>   drivers/crypto/stm32/stm32-hash.c             |   4 +-
>   include/crypto/engine.h                       |  27 +++-
>   10 files changed, 201 insertions(+), 79 deletions(-)
> 


WARNING: multiple messages have this Message-ID (diff)
From: Iuliana Prodan <iuliana.prodan@nxp.com>
To: Corentin Labbe <clabbe.montjoie@gmail.com>,
	"alexandre.torgue@st.com" <alexandre.torgue@st.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"herbert@gondor.apana.org.au" <herbert@gondor.apana.org.au>,
	"mcoquelin.stm32@gmail.com" <mcoquelin.stm32@gmail.com>,
	"mripard@kernel.org" <mripard@kernel.org>,
	"wens@csie.org" <wens@csie.org>,
	Horia Geanta <horia.geanta@nxp.com>,
	Aymen Sghaier <aymen.sghaier@nxp.com>
Cc: "linux-sunxi@googlegroups.com" <linux-sunxi@googlegroups.com>,
	"linux-stm32@st-md-mailman.stormreply.com"
	<linux-stm32@st-md-mailman.stormreply.com>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH RFC 00/10] crypto: engine: permit to batch requests
Date: Thu, 16 Jan 2020 11:33:24 +0000	[thread overview]
Message-ID: <VI1PR04MB444530675D82743E8AFFD8FE8C360@VI1PR04MB4445.eurprd04.prod.outlook.com> (raw)
In-Reply-To: 20200114135936.32422-1-clabbe.montjoie@gmail.com

On 1/14/2020 3:59 PM, Corentin Labbe wrote:
> Hello
> 
> The sun8i-ce hardware can work on multiple requests in one batch.
> For this it use a task descriptor, and chain them.
> For the moment, the driver does not use this mechanism and do requests
> one at a time and issue an irq for each.
> 
> Using the chaning will permit to issue less interrupts, and increase
> thoughput.
> 
> But the crypto/engine can enqueue lots of requests but can ran them only
> one by one.
> 
> This serie introduce a way to batch requests in crypto/engine by
> - setting a batch limit (1 by default)
> - refactor the prepare/unprepare code to permit to have x requests
>    prepared/unprepared at the same time.
> 
> For testing the serie, the selftest are not enough, since it issue
> request one at a time.
> I have used LUKS for testing it.
> 
> Please give me what you think about this serie, specially maintainers
> which have hardware with the same kind of capability.
> 
Hi,

I'm working on CAAM, on adding support for crypto-engine.
These modifications are not working on CAAM.
They seem to be specific to requests that are linked. CAAM can work on 
multiple request, at the same time, but they are processed independently.
So, I believe the parallelization is a good idea, but the requests still 
need to be independent.
I'll follow up with comments on each patch.

Also, IMO you should send the patches for crypto-engine improvements in 
a separate series from the one for allwinner driver.

Thanks,
Iulia

> Regards
> 
> Corentin Labbe (10):
>    crypto: sun8i-ce: move iv data to request context
>    crypto: sun8i-ce: increase task list size
>    crypto: sun8i-ce: split into prepare/run/unprepare
>    crypto: sun8i-ce: introduce the slot number
>    crypto: engine: transform cur_req in an array
>    crypto: engine: introduce ct
>    crypto: sun8i-ce: handle slot > 0
>    crypto: engine: add slot parameter
>    crypto: engine: permit to batch requests
>    crypto: sun8i-ce: use the new batch mechanism
> 
>   crypto/crypto_engine.c                        |  76 +++++++----
>   .../allwinner/sun8i-ce/sun8i-ce-cipher.c      | 121 +++++++++++++-----
>   .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c |  17 ++-
>   drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h  |  17 ++-
>   drivers/crypto/omap-aes-gcm.c                 |   2 +-
>   drivers/crypto/omap-aes.c                     |   4 +-
>   drivers/crypto/omap-des.c                     |   4 +-
>   drivers/crypto/stm32/stm32-cryp.c             |   8 +-
>   drivers/crypto/stm32/stm32-hash.c             |   4 +-
>   include/crypto/engine.h                       |  27 +++-
>   10 files changed, 201 insertions(+), 79 deletions(-)
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2020-01-16 11:33 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-14 13:59 [PATCH RFC 00/10] crypto: engine: permit to batch requests Corentin Labbe
2020-01-14 13:59 ` Corentin Labbe
2020-01-14 13:59 ` [PATCH RFC 01/10] crypto: sun8i-ce: move iv data to request context Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-14 13:59 ` [PATCH RFC 02/10] crypto: sun8i-ce: increase task list size Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-14 13:59 ` [PATCH RFC 03/10] crypto: sun8i-ce: split into prepare/run/unprepare Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-14 13:59 ` [PATCH RFC 04/10] crypto: sun8i-ce: introduce the slot number Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-14 13:59 ` [PATCH RFC 05/10] crypto: engine: transform cur_req in an array Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-16 11:34   ` Iuliana Prodan
2020-01-16 11:34     ` Iuliana Prodan
2020-01-14 13:59 ` [PATCH RFC 06/10] crypto: engine: introduce ct Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-16 11:34   ` Iuliana Prodan
2020-01-16 11:34     ` Iuliana Prodan
2020-01-16 13:21     ` Corentin Labbe
2020-01-16 13:21       ` Corentin Labbe
2020-01-14 13:59 ` [PATCH RFC 07/10] crypto: sun8i-ce: handle slot > 0 Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-14 13:59 ` [PATCH RFC 08/10] crypto: engine: add slot parameter Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-14 13:59 ` [PATCH RFC 09/10] crypto: engine: permit to batch requests Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-16 11:34   ` Iuliana Prodan
2020-01-16 11:34     ` Iuliana Prodan
2020-01-17 16:13   ` Iuliana Prodan
2020-01-17 16:13     ` Iuliana Prodan
2020-01-14 13:59 ` [PATCH RFC 10/10] crypto: sun8i-ce: use the new batch mechanism Corentin Labbe
2020-01-14 13:59   ` Corentin Labbe
2020-01-16 11:33 ` Iuliana Prodan [this message]
2020-01-16 11:33   ` [PATCH RFC 00/10] crypto: engine: permit to batch requests Iuliana Prodan
2020-01-16 13:16   ` Corentin Labbe
2020-01-16 13:16     ` Corentin Labbe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=VI1PR04MB444530675D82743E8AFFD8FE8C360@VI1PR04MB4445.eurprd04.prod.outlook.com \
    --to=iuliana.prodan@nxp.com \
    --cc=alexandre.torgue@st.com \
    --cc=aymen.sghaier@nxp.com \
    --cc=clabbe.montjoie@gmail.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=horia.geanta@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-sunxi@googlegroups.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mripard@kernel.org \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.