From: Corentin Labbe <clabbe.montjoie@gmail.com> To: alexandre.torgue@st.com, davem@davemloft.net, herbert@gondor.apana.org.au, mcoquelin.stm32@gmail.com, mripard@kernel.org, wens@csie.org, iuliana.prodan@nxp.com, horia.geanta@nxp.com, aymen.sghaier@nxp.com Cc: linux-arm-kernel@lists.infradead.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@googlegroups.com, Corentin Labbe <clabbe.montjoie@gmail.com> Subject: [PATCH RFC 00/10] crypto: engine: permit to batch requests Date: Tue, 14 Jan 2020 14:59:26 +0100 [thread overview] Message-ID: <20200114135936.32422-1-clabbe.montjoie@gmail.com> (raw) 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. 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(-) -- 2.24.1
WARNING: multiple messages have this Message-ID (diff)
From: Corentin Labbe <clabbe.montjoie@gmail.com> To: alexandre.torgue@st.com, davem@davemloft.net, herbert@gondor.apana.org.au, mcoquelin.stm32@gmail.com, mripard@kernel.org, wens@csie.org, iuliana.prodan@nxp.com, horia.geanta@nxp.com, aymen.sghaier@nxp.com Cc: linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, Corentin Labbe <clabbe.montjoie@gmail.com>, linux-crypto@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH RFC 00/10] crypto: engine: permit to batch requests Date: Tue, 14 Jan 2020 14:59:26 +0100 [thread overview] Message-ID: <20200114135936.32422-1-clabbe.montjoie@gmail.com> (raw) 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. 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(-) -- 2.24.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2020-01-14 13:59 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-14 13:59 Corentin Labbe [this message] 2020-01-14 13:59 ` [PATCH RFC 00/10] crypto: engine: permit to batch requests 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 ` [PATCH RFC 00/10] crypto: engine: permit to batch requests Iuliana Prodan 2020-01-16 11:33 ` 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=20200114135936.32422-1-clabbe.montjoie@gmail.com \ --to=clabbe.montjoie@gmail.com \ --cc=alexandre.torgue@st.com \ --cc=aymen.sghaier@nxp.com \ --cc=davem@davemloft.net \ --cc=herbert@gondor.apana.org.au \ --cc=horia.geanta@nxp.com \ --cc=iuliana.prodan@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: linkBe 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.