[RFC] crypto: Remove mcryptd

2018-05-11 Thread Megha Dey
. Instead everything runs in a single thread of execution. You had suggested that the SIMD wrapper will defer the job to the Kthread context, but I am not sure that will be done. Please let me know what you think. Signed-off-by: Megha Dey <megha@linux.intel.com> --- arch/x86/crypto/s

Re: [PATCH V8 1/5] crypto: Multi-buffer encryption infrastructure support

2018-01-18 Thread Megha Dey
On Thu, 2018-01-18 at 22:39 +1100, Herbert Xu wrote: > On Tue, Jan 09, 2018 at 04:09:04PM -0800, Megha Dey wrote: > > > > +static void mcryptd_skcipher_encrypt(struct crypto_async_request *base, > > + int err)

[PATCH V8 1/5] crypto: Multi-buffer encryption infrastructure support

2018-01-09 Thread Megha Dey
multi-buffer encryption build support. For an introduction to the multi-buffer implementation, please see http://www.intel.com/content/www/us/en/communications/communications-ia-multi-buffer-paper.html Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey

[PATCH V8 4/5] crypto: AES CBC by8 encryption

2018-01-09 Thread Megha Dey
This patch introduces the assembly routine to do a by8 AES CBC encryption in support of the AES CBC multi-buffer implementation. It encrypts 8 data streams of the same key size simultaneously. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey

[PATCH V8 5/5] crypto: AES CBC multi-buffer glue code

2018-01-09 Thread Megha Dey
-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/Makefile| 1 + arch/x86/crypto/aes-cbc-mb/Makefile | 22 + arch/x86/crypto/aes-cbc-mb/

[PATCH V8 3/5] crypto: AES CBC multi-buffer scheduler

2018-01-09 Thread Megha Dey
completed state. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_mb_mgr_init.c | 146 arch/x86/crypto/aes-cbc-mb/m

[PATCH V8 2/5] crypto: AES CBC multi-buffer data structures

2018-01-09 Thread Megha Dey
<mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_cbc_mb_ctx.h| 97 + arch/x86/crypto/aes-cbc-mb/aes_cbc_mb_mgr.h| 132 arch/x86

[PATCH V8 0/5] crypto: AES CBC multibuffer implementation

2018-01-09 Thread Megha Dey
ablkcipher_walk helpers to walk the scatter gather list and eliminated needs to modify blkcipher_walk for multibuffer cipher v2 1. Update cpu feature check to make sure SSE is supported 2. Fix up unloading of aes-cbc-mb module to properly free memory Megha Dey (5): crypto: Multi-buffer encryption

Re: [PATCH V7 5/7] crypto: AES CBC multi-buffer glue code

2018-01-09 Thread Megha Dey
On Thu, 2017-08-03 at 13:27 +0800, Herbert Xu wrote: > On Tue, Jul 25, 2017 at 07:09:58PM -0700, Megha Dey wrote: > > > > +/* notify the caller of progress ; request still stays in queue */ > > + > > +static void notify_callback(struct mcryptd

[Patch V4] crypto: x86/sha1 : Fix reads beyond the number of blocks passed

2017-08-02 Thread Megha Dey
<jstan...@redhat.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Reported-by: Jan Stancek <jstan...@redhat.com> --- arch/x86/crypto/sha1_avx2_x86_64_asm.S | 67 ++ arch/x86/crypto/sha1_ssse3_glue.c | 2 +- 2 files changed, 37 insertions(+

Re: [Patch V3] crypto: x86/sha1 : Fix reads beyond the number of blocks passed

2017-08-02 Thread Megha Dey
On Wed, 2017-08-02 at 10:13 -0700, Megha Dey wrote: > It was reported that the sha1 AVX2 function(sha1_transform_avx2) is > reading ahead beyond its intended data, and causing a crash if the next > block is beyond page boundary: > http://marc.info/?l=linux-crypto-vger=149

[Patch V3] crypto: x86/sha1 : Fix reads beyond the number of blocks passed

2017-08-02 Thread Megha Dey
. It passes the tests written by Jan Stancek that revealed this problem: https://github.com/jstancek/sha1-avx2-crash I have re-enabled sha1-avx2 by reverting commit b82ce24426a4071da9529d726057e4e642948667 Originally-by: Ilya Albrekht <ilya.albre...@intel.com> Signed-off-by: Megha Dey

[PATCH] crypto: x86/sha1 : Fix reads beyond the number of blocks passed

2017-08-01 Thread Megha Dey
. It passes the tests written by Jan Stancek that revealed this problem: https://github.com/jstancek/sha1-avx2-crash Jan, can you verify this fix? Herbert, can you re-enable sha1-avx2 once Jan has checked it out and revert commit b82ce24426a4071da9529d726057e4e642948667 ? Signed-off-by: Megha Dey

Re: [PATCH V7 0/7] crypto: AES CBC multibuffer implementation

2017-07-31 Thread Megha Dey
On Tue, 2017-07-25 at 19:09 -0700, Megha Dey wrote: > In this patch series, we introduce AES CBC encryption that is parallelized on > x86_64 cpu with XMM registers. The multi-buffer technique encrypt 8 data > streams in parallel with SIMD instructions. Decryption is handled as in the &

[PATCH V7 6/7] crypto: AES vectors for AES CBC multibuffer testing

2017-07-25 Thread Megha Dey
For more robust testing of AES CBC multibuffer support, additional test vectors have been added to the AES CBC encrypt/decrypt test case. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim C

Re: FW: [PATCH V6 5/7] crypto: AES CBC multi-buffer glue code

2017-07-25 Thread Megha Dey
On Tue, 2017-07-25 at 10:17 +0800, Herbert Xu wrote: > On Mon, Jul 24, 2017 at 06:09:56PM -0700, Megha Dey wrote: > > > > Under the skcipher interface, if both the outer and inner alg are async, > > there should not be any problem right? Currently I do not see any > > ex

[PATCH V7 7/7] crypto: AES CBC multi-buffer tcrypt

2017-07-25 Thread Megha Dey
with expected results. The test vectors are so chosen as to exercise the scatter-gather list to the maximum allowable limit within the framework. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@

[PATCH V7 4/7] crypto: AES CBC by8 encryption

2017-07-25 Thread Megha Dey
This patch introduces the assembly routine to do a by8 AES CBC encryption in support of the AES CBC multi-buffer implementation. It encrypts 8 data streams of the same key size simultaneously. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey

[PATCH V7 5/7] crypto: AES CBC multi-buffer glue code

2017-07-25 Thread Megha Dey
-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/Makefile| 1 + arch/x86/crypto/aes-cbc-mb/Makefile | 22 + arch/x86/crypto/aes-cbc-mb/

[PATCH V7 3/7] crypto: AES CBC multi-buffer scheduler

2017-07-25 Thread Megha Dey
completed state. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_mb_mgr_init.c | 146 arch/x86/crypto/aes-cbc-mb/m

[PATCH V7 2/7] crypto: AES CBC multi-buffer data structures

2017-07-25 Thread Megha Dey
<mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_cbc_mb_ctx.h| 97 + arch/x86/crypto/aes-cbc-mb/aes_cbc_mb_mgr.h| 132 arch/x86

[PATCH V7 1/7] crypto: Multi-buffer encryption infrastructure support

2017-07-25 Thread Megha Dey
multi-buffer encryption build support. For an introduction to the multi-buffer implementation, please see http://www.intel.com/content/www/us/en/communications/communications-ia-multi-buffer-paper.html Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey

[PATCH V7 0/7] crypto: AES CBC multibuffer implementation

2017-07-25 Thread Megha Dey
feature check to make sure SSE is supported 2. Fix up unloading of aes-cbc-mb module to properly free memory Megha Dey (7): crypto: Multi-buffer encryption infrastructure support crypto: AES CBC multi-buffer data structures crypto: AES CBC multi-buffer scheduler crypto: AES CBC by8

Re: FW: [PATCH V6 5/7] crypto: AES CBC multi-buffer glue code

2017-07-24 Thread Megha Dey
da...@davemloft.net; > linux-crypto@vger.kernel.org; linux-ker...@vger.kernel.org > Subject: Re: [PATCH V6 5/7] crypto: AES CBC multi-buffer glue code > > On Tue, Jul 18, 2017 at 06:18:59PM -0700, Megha Dey wrote: > > > > > >> +/* > > > >> + * CR

Re: [PATCH V6 5/7] crypto: AES CBC multi-buffer glue code

2017-07-18 Thread Megha Dey
On Tue, 2017-07-18 at 17:52 -0700, Tim Chen wrote: > On 07/17/2017 10:41 PM, Herbert Xu wrote: > > On Tue, Jun 27, 2017 at 05:26:13PM -0700, Megha Dey wrote: > >> > >> +static void completion_callback(struct mcryptd_skcipher_request_ctx *rctx, > >> +

Re: [PATCH V6 0/7] crypto: AES CBC multibuffer implementation

2017-07-17 Thread Megha Dey
Hi Herbert, Do you want any other changes to be made to this patchset? Thanks, Megha On Tue, 2017-06-27 at 17:26 -0700, Megha Dey wrote: > In this patch series, we introduce AES CBC encryption that is parallelized on > x86_64 cpu with XMM registers. The multi-buffer technique encrypt

[PATCH V6 3/7] crypto: AES CBC multi-buffer scheduler

2017-06-27 Thread Megha Dey
completed state. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_mb_mgr_init.c | 146 arch/x86/crypto/aes-cbc-mb/m

[PATCH V6 7/7] crypto: AES CBC multi-buffer tcrypt

2017-06-27 Thread Megha Dey
with expected results. The test vectors are so chosen as to exercise the scatter-gather list to the maximum allowable limit within the framework. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@

[PATCH V6 6/7] crypto: AES vectors for AES CBC multibuffer testing

2017-06-27 Thread Megha Dey
For more robust testing of AES CBC multibuffer support, additional test vectors have been added to the AES CBC encrypt/decrypt test case. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim C

[PATCH V6 2/7] crypto: AES CBC multi-buffer data structures

2017-06-27 Thread Megha Dey
<mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_cbc_mb_ctx.h| 97 + arch/x86/crypto/aes-cbc-mb/aes_cbc_mb_mgr.h| 132 arch/x86

[PATCH V6 5/7] crypto: AES CBC multi-buffer glue code

2017-06-27 Thread Megha Dey
-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/Makefile| 1 + arch/x86/crypto/aes-cbc-mb/Makefile | 22 + arch/x86/crypto/aes-cbc-mb/

[PATCH V6 4/7] crypto: AES CBC by8 encryption

2017-06-27 Thread Megha Dey
This patch introduces the assembly routine to do a by8 AES CBC encryption in support of the AES CBC multi-buffer implementation. It encrypts 8 data streams of the same key size simultaneously. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey

[PATCH V6 1/7] crypto: Multi-buffer encryption infrastructure support

2017-06-27 Thread Megha Dey
multi-buffer encryption build support. For an introduction to the multi-buffer implementation, please see http://www.intel.com/content/www/us/en/communications/communications-ia-multi-buffer-paper.html Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey

[PATCH V6 0/7] crypto: AES CBC multibuffer implementation

2017-06-27 Thread Megha Dey
free memory Megha Dey (7): crypto: Multi-buffer encryption infrastructure support crypto: AES CBC multi-buffer data structures crypto: AES CBC multi-buffer scheduler crypto: AES CBC by8 encryption crypto: AES CBC multi-buffer glue code crypto: AES vectors for AES CBC multibuffer

Re: [Patch V5 1/7] crypto: Multi-buffer encryption infrastructure support

2017-06-08 Thread Megha Dey
On Mon, 2017-04-24 at 17:00 +0800, Herbert Xu wrote: > On Thu, Apr 20, 2017 at 01:50:34PM -0700, Megha Dey wrote: > > > > +static int simd_skcipher_decrypt_mb(struct skcipher_request *req) > > +{ > > + struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); > >

[Patch V5 1/7] crypto: Multi-buffer encryption infrastructure support

2017-04-20 Thread Megha Dey
-buffer encryption build support. For an introduction to the multi-buffer implementation, please see http://www.intel.com/content/www/us/en/communications/communications-ia-multi-buffer-paper.html Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey

[Patch V5 2/7] crypto: AES CBC multi-buffer data structures

2017-04-20 Thread Megha Dey
<mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_cbc_mb_ctx.h| 97 + arch/x86/crypto/aes-cbc-mb/aes_cbc_mb_mgr.h| 132 arch/x86

[Patch V5 3/7] crypto: AES CBC multi-buffer scheduler

2017-04-20 Thread Megha Dey
completed state. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_mb_mgr_init.c | 146 arch/x86/crypto/aes-cbc-mb/m

[Patch V5 6/7] crypto: AES vectors for AES CBC multibuffer testing

2017-04-20 Thread Megha Dey
For more robust testing of AES CBC multibuffer support, additional test vectors have been added to the AES CBC encrypt/decrypt test case. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim C

[Patch V5 5/7] crypto: AES CBC multi-buffer glue code

2017-04-20 Thread Megha Dey
-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/Makefile| 1 + arch/x86/crypto/aes-cbc-mb/Makefile | 22 + arch/x86/crypto/aes-cbc-mb/

[Patch V5 7/7] crypto: AES CBC multi-buffer tcrypt

2017-04-20 Thread Megha Dey
with expected results. The test vectors are so chosen as to exercise the scatter-gather list to the maximum allowable limit within the framework. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Acked-by: Tim Chen <tim.c.c...@

[Patch V5 4/7] crypto: AES CBC by8 encryption

2017-04-20 Thread Megha Dey
This patch introduces the assembly routine to do a by8 AES CBC encryption in support of the AES CBC multi-buffer implementation. It encrypts 8 data streams of the same key size simultaneously. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey

[Patch V5 0/7] crypto: AES CBC multibuffer implementation

2017-04-20 Thread Megha Dey
. Update cpu feature check to make sure SSE is supported 2. Fix up unloading of aes-cbc-mb module to properly free memory Megha Dey (7): crypto: Multi-buffer encryption infrastructure support crypto: AES CBC multi-buffer data structures crypto: AES CBC multi-buffer scheduler crypto: AES CBC by8

Re: sha1_mb broken

2016-09-28 Thread Megha Dey
kernel, can you please use the lastest and let me know if you still see this issue? Also can you give more info on the test case? Does it issue single request or multiple requests? Thanks, Megha On Wed, 2016-09-28 at 10:58 -0700, Megha Dey wrote: > Hi Stephan, > > Could you give me more info

Re: sha1_mb broken

2016-09-28 Thread Megha Dey
Hi Stephan, Could you give me more info on how I could reproduce this issue on my end? Also was this issue there all along? Which is the first kernel version where you see this? Thanks, Megha On Mon, 2016-09-26 at 19:32 +0200, Stephan Mueller wrote: > Am Freitag, 26. August 2016, 03:15:06 CEST

[PATCH v5 4/7] crypto: AES CBC by8 encryption

2016-09-26 Thread Megha Dey
t;mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Signed-off-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_cbc_enc_x8.S | 775 1 file changed, 775 insertions(+) create mode 100644 arch/x86/crypto/aes-cbc-m

[PATCH v5 0/7] crypto: AES CBC multibuffer implementation

2016-09-26 Thread Megha Dey
-cbc-mb module to properly free memory Megha Dey (1): crypto: Multi-buffer encryption infrastructure support Tim Chen (6): crypto: AES CBC multi-buffer data structures crypto: AES CBC multi-buffer scheduler crypto: AES CBC by8 encryption crypto: AES CBC multi-buffer glue code crypto: AES

[PATCH v5 2/7] crypto: AES CBC multi-buffer data structures

2016-09-26 Thread Megha Dey
y code. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Signed-off-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_cbc_mb_ctx.h| 97 + arch/x86/crypto/aes-cbc-mb/a

[PATCH v5 3/7] crypto: AES CBC multi-buffer scheduler

2016-09-26 Thread Megha Dey
t call to submit always returns the oldest job in a completed state. Originally-by: Chandramouli Narayanan <mouli_7...@yahoo.com> Signed-off-by: Megha Dey <megha@linux.intel.com> Signed-off-by: Tim Chen <tim.c.c...@linux.intel.com> --- arch/x86/crypto/aes-cbc-mb/aes_mb_mgr_ini

Re: crypto: tcrypt - Do not bail on EINPROGRESS in multibuffer hash test

2016-06-30 Thread Megha Dey
On Thu, 2016-06-30 at 11:00 +0800, Herbert Xu wrote: > On Wed, Jun 29, 2016 at 10:45:56AM -0700, Megha Dey wrote: > > I tested the latest cryptodev tree on my haswell machine and this is > > what I see: > > [ 40.402834] modprobe tcrypt mode=422 > > [ 40.403105] t

Re: [PATCH v2] crypto: tcrypt - Fix memory leaks/crashes in multibuffer hash speed test

2016-06-29 Thread Megha Dey
I tested the latest cryptodev tree on my haswell machine and this is what I see: [ 40.402834] modprobe tcrypt mode=422 [ 40.403105] testing speed of multibuffer sha1 (sha1_mb) [ 40.403108] test 0 ( 16 byte blocks, 16 bytes per update, 1 updates): 32271 cycles/operation, 252

[PATCH 4/6] crypto: sha512-mb - Algorithm data structures

2016-06-27 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> This patch introduces the data structures and prototypes of functions needed for computing SHA512 hash using multi-buffer. Included are the structures of the multi-buffer SHA512 job, job scheduler in C and x86 assembly. Signed-off-by: Megha Dey

[PATCH 3/6] crypto: sha512-mb - submit/flush routines for AVX2

2016-06-27 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> This patch introduces the routines used to submit and flush buffers belonging to SHA512 crypto jobs to the SHA512 multibuffer algorithm. It is implemented mostly in assembly optimized with AVX2 instructions. Signed-off-by: Megha Dey

[PATCH 1/6] crypto: sha512-mb - SHA512 multibuffer job manager and glue code

2016-06-27 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> This patch introduces the multi-buffer job manager which is responsible for submitting scatter-gather buffers from several SHA512 jobs to the multi-buffer algorithm. It also contains the flush routine that's called by the crypto daemon to co

[PATCH 6/6] crypto: tcrypt - Add new mode for sha512_mb

2016-06-27 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Add a new mode to calculate the speed of the sha512_mb algorithm Signed-off-by: Megha Dey <megha@linux.intel.com> Reviewed-by: Fenghua Yu <fenghua...@intel.com> Reviewed-by: Tim Chen <tim.c.c...@linux.intel.com> --- cry

[PATCH 2/6] crypto: sha512-mb - Enable SHA512 multibuffer support

2016-06-27 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Add the config CRYPTO_SHA512_MB which will enable the computation using the SHA512 multi-buffer algorithm. Signed-off-by: Megha Dey <megha@linux.intel.com> Reviewed-by: Fenghua Yu <fenghua...@intel.com> Reviewed-by:

[PATCH 5/6] crypto: sha512-mb - Crypto computation (x4 AVX2)

2016-06-27 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> This patch introduces the assembly routines to do SHA512 computation on buffers belonging to several jobs at once. The assembly routines are optimized with AVX2 instructions that have 4 data lanes and using AVX2 registers. Signed-off-by: Meg

[PATCH 0/6] crypto: SHA512 multibuffer implementation

2016-06-27 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> In this patch series, we introduce the multi-buffer crypto algorithm on x86_64 and apply it to SHA512 hash computation. The multi-buffer technique takes advantage of the 8 data lanes in the AVX2 registers and allows computation to be performed o

[PATCH 2/7] crypto: sha256-mb - Enable multibuffer support

2016-06-23 Thread Megha Dey
Add the config CRYPTO_SHA256_MB which will enable the computation using the SHA256 multi-buffer algorithm. Signed-off-by: Megha Dey <megha@linux.intel.com> Reviewed-by: Fenghua Yu <fenghua...@intel.com> Reviewed-by: Tim Chen <tim.c.c...@linux.intel.com> --- c

[PATCH 1/7] crypto: sha256-mb - SHA256 multibuffer job manager and glue code

2016-06-23 Thread Megha Dey
the deadline of maximum latency of a SHA256 crypto job. The SHA256 multi-buffer crypto algorithm is defined and initialized in this patch. Signed-off-by: Megha Dey <megha@linux.intel.com> Reviewed-by: Fenghua Yu <fenghua...@intel.com> Reviewed-by: Tim Chen <tim.c.c...@linux.intel.com

[PATCH 4/7] crypto: sha256-mb - Algorithm data structures

2016-06-23 Thread Megha Dey
This patch introduces the data structures and prototypes of functions needed for computing SHA256 hash using multi-buffer. Included are the structures of the multi-buffer SHA256 job, job scheduler in C and x86 assembly. Signed-off-by: Megha Dey <megha@linux.intel.com> Reviewed-by: Feng

[PATCH 7/7] crypto: sha1-mb - rename sha-mb to sha1-mb

2016-06-23 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Until now, there was only support for the SHA1 multibuffer algorithm. Hence, there was just one sha-mb folder. Now, with the introduction of the SHA256 multi-buffer algorithm , it is logical to name the existing folder as sha1-mb. Signed-off-by:

[PATCH 5/7] crypto: sha256-mb - Crypto computation (x8 AVX2)

2016-06-23 Thread Megha Dey
This patch introduces the assembly routines to do SHA256 computation on buffers belonging to several jobs at once. The assembly routines are optimized with AVX2 instructions that have 8 data lanes and using AVX2 registers. Signed-off-by: Megha Dey <megha@linux.intel.com> Reviewed-by: F

[PATCH 6/7] crypto: tcrypt - Add speed tests for SHA multibuffer algorithms

2016-06-23 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> The existing test suite to calculate the speed of the SHA algorithms assumes serial (single buffer)) computation of data. With the SHA multibuffer algorithms, we work on 8 lanes of data in parallel. Hence, the need to introduce a new test

[PATCH 3/7] crypto: sha256-mb - submit/flush routines for AVX2

2016-06-23 Thread Megha Dey
This patch introduces the routines used to submit and flush buffers belonging to SHA256 crypto jobs to the SHA256 multibuffer algorithm. It is implemented mostly in assembly optimized with AVX2 instructions. Signed-off-by: Megha Dey <megha@linux.intel.com> Reviewed-by: Fenghua Yu &l

[PATCH 0/7] crypto: SHA256 multibuffer implementation

2016-06-23 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> In this patch series, we introduce the multi-buffer crypto algorithm on x86_64 and apply it to SHA256 hash computation. The multi-buffer technique takes advantage of the 8 data lanes in the AVX2 registers and allows computation to be performed o

[PATCH] crypto : async implementation for sha1-mb

2016-06-21 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Herbert wants the sha1-mb algorithm to have an async implementation: https://lkml.org/lkml/2016/4/5/286. Currently, sha1-mb uses an async interface for the outer algorithm and a sync interface for the inner algorithm. This patch introduces a

[PATCH] crypto : async implementation for sha1-mb

2016-06-20 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Herbert wants the sha1-mb algorithm to have an async implementation: https://lkml.org/lkml/2016/4/5/286. Currently, sha1-mb uses an async interface for the outer algorithm and a sync interface for the inner algorithm. This patch introduces a

[PATCH] crypto : async implementation for sha1-mb

2016-06-17 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Herbert wants the sha1-mb algorithm to have an async implementation: https://lkml.org/lkml/2016/4/5/286. Currently, sha1-mb uses an async interface for the outer algorithm and a sync interface for the inner algorithm. This patch introduces a

[PATCH] crypto : async implementation for sha1-mb

2016-06-07 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Herbert wants the sha1-mb algorithm to have an async implementation: https://lkml.org/lkml/2016/4/5/286. Currently, sha1-mb uses an async interface for the outer algorithm and a sync interface for the inner algorithm. This patch introduces a

[PATCH V2 1/2] crypto: sha1-mb - stylistic cleanup

2016-06-02 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Currently there are several checkpatch warnings in the sha1_mb.c file: 'WARNING: line over 80 characters' in the sha1_mb.c file. Also, the syntax of some multi-line comments are not correct. This patch fixes these issues. Signed-off-by: Meg

[PATCH V2 2/2] crypto : async implementation for sha1-mb

2016-06-02 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Herbert wants the sha1-mb algorithm to have an async implementation: https://lkml.org/lkml/2016/4/5/286. Currently, sha1-mb uses an async interface for the outer algorithm and a sync interface for the inner algorithm. This patch introduces a

[PATCH V2 0/2] Implementation of an async interface for sha1-mb

2016-06-02 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Currently, sha1-mb uses an async interface for the outer algorithm and a sync interface for the inner algorithm. Herbert wants the sha1-mb algorithm to have an async implementation: https://lkml.org/lkml/2016/4/5/286. This patch introduces a

Re: [PATCH 2/2] crypto : async implementation for sha1-mb

2016-06-02 Thread Megha Dey
On Thu, 2016-06-02 at 18:33 +0800, Herbert Xu wrote: > On Tue, May 31, 2016 at 02:42:21PM -0700, Megha Dey wrote: > > > > @@ -416,8 +421,8 @@ static void mcryptd_hash_finup(struct > > crypto_async_request *req_async, int err) > > > > if (unlikely(err == -E

[PATCH 1/2] crypto : stylistic cleanup in sha1-mb

2016-05-31 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Currently there are several checkpatch warnings in the sha1_mb.c file: 'WARNING: line over 80 characters' in the sha1_mb.c file. Also, the syntax of some multi-line comments are not correct. This patch fixes these issues. Signed-off-by: Meg

[PATCH 2/2] crypto : async implementation for sha1-mb

2016-05-31 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Herbert wants the sha1-mb algorithm to have an async implementation: https://lkml.org/lkml/2016/4/5/286. Currently, sha1-mb uses an async interface for the outer algorithm and a sync interface for the inner algorithm. This patch introduces a

[PATCH 0/2] async implementation for sha1-mb

2016-05-31 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Currently, sha1-mb uses an async interface for the outer algorithm and a sync interface for the inner algorithm. Herbert wants the sha1-mb algorithm to have an async implementation: https://lkml.org/lkml/2016/4/5/286. This patch introduces a

Re: [PATCH 1/7] crypto : stylistic cleanup in sha1-mb

2016-05-31 Thread Megha Dey
On Tue, 2016-05-31 at 16:13 +0800, Herbert Xu wrote: > On Thu, May 19, 2016 at 05:43:04PM -0700, Megha Dey wrote: > > From: Megha Dey <megha@linux.intel.com> > > > > Currently there are several checkpatch warnings in the sha1_mb.c file: > > 'WARNING: line ove

[PATCH 2/7] crypto : async implementation for sha1-mb

2016-05-19 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Herbert wants the sha1-mb algorithm to have an async implementation: https://lkml.org/lkml/2016/4/5/286. Currently, sha1-mb uses an async interface for the outer algorithm and a sync interface for the inner algorithm. This patch introduces a

[PATCH 1/7] crypto : stylistic cleanup in sha1-mb

2016-05-19 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> Currently there are several checkpatch warnings in the sha1_mb.c file: 'WARNING: line over 80 characters' in the sha1_mb.c file. Also, the syntax of some multi-line comments are not correct. This patch fixes these issues. Signed-off-by: Meg

Re: [PATCH] crypto/sha1-mb: make sha1_x8_avx2() conform to C function ABI

2016-05-16 Thread Megha Dey
On Mon, 2016-05-16 at 16:46 -0500, Josh Poimboeuf wrote: > On Mon, May 16, 2016 at 02:39:06PM -0700, Megha Dey wrote: > > On Mon, 2016-05-16 at 15:16 -0500, Josh Poimboeuf wrote: > > > On Mon, May 16, 2016 at 11:31:12AM -0700, Megha Dey wrote: > > > > On Mon, 2

Re: [PATCH] crypto/sha1-mb: make sha1_x8_avx2() conform to C function ABI

2016-05-16 Thread Megha Dey
On Mon, 2016-05-16 at 15:16 -0500, Josh Poimboeuf wrote: > On Mon, May 16, 2016 at 11:31:12AM -0700, Megha Dey wrote: > > On Mon, 2016-05-16 at 09:44 -0500, Josh Poimboeuf wrote: > > > On Fri, May 13, 2016 at 10:32:26AM -0700, Megha Dey wrote: > > > > On Fri, 2016-05-

Re: SHA1-MB algorithm broken on latest kernel

2016-05-16 Thread Megha Dey
On Mon, 2016-05-16 at 09:44 -0500, Josh Poimboeuf wrote: > On Fri, May 13, 2016 at 10:32:26AM -0700, Megha Dey wrote: > > On Fri, 2016-05-13 at 07:51 +0200, Ingo Molnar wrote: > > > * Herbert Xu <herb...@gondor.apana.org.au> wrote: > > > > > > > On Thu

Re: SHA1-MB algorithm broken on latest kernel

2016-05-13 Thread Megha Dey
On Fri, 2016-05-13 at 07:51 +0200, Ingo Molnar wrote: > * Herbert Xu <herb...@gondor.apana.org.au> wrote: > > > On Thu, May 12, 2016 at 04:31:06PM -0700, Megha Dey wrote: > > > Hi, > > > > > > When booting latest kernel with the CONFIG_CR

SHA1-MB algorithm broken on latest kernel

2016-05-12 Thread Megha Dey
Hi, When booting latest kernel with the CONFIG_CRYPTO_SHA1_MB enabled, I observe a panic. After having a quick look, on reverting the following patches, I am able to complete the booting process. aec4d0e301f17bb143341c82cc44685b8af0b945 8691ccd764f9ecc69a6812dfe76214c86ac9ba06

[PATCH 4/7] crypto: sha256-mb - submit/flush routines for AVX2

2016-03-24 Thread megha . dey
From: Megha Dey <megha@intel.com> This patch introduces the routines used to submit and flush buffers belonging to SHA256 crypto jobs to the SHA256 multibuffer algorithm. It is implemented mostly in assembly optimized with AVX2 instructions. Signed-off-by: Megha Dey

[PATCH 1/7] crypto: sha1-mb - rename sha-mb to sha1-mb

2016-03-24 Thread megha . dey
From: Megha Dey <megha@linux.intel.com> Until now, there was only support for the SHA1 multibuffer algorithm. Hence, there was just one sha-mb folder. Now, with the introduction of the SHA256 multi-buffer algorithm , it is logical to name the existing folder as sha1-mb. Signed-off-by:

[PATCH 2/6] crypto: sha512-mb - Enable SHA512 multibuffer support

2016-03-24 Thread megha . dey
From: Megha Dey <megha@linux.intel.com> Add the config CRYPTO_SHA512_MB which will enable the computation using the SHA512 multi-buffer algorithm. Signed-off-by: Megha Dey <megha@linux.intel.com> Reviewed-by: Fenghua Yu <fenghua...@intel.com> Reviewed-by:

[PATCH 3/6] crypto: sha512-mb - submit/flush routines for AVX2

2016-03-24 Thread megha . dey
From: Megha Dey <megha@linux.intel.com> This patch introduces the routines used to submit and flush buffers belonging to SHA512 crypto jobs to the SHA512 multibuffer algorithm. It is implemented mostly in assembly optimized with AVX2 instructions. Signed-off-by: Megha Dey

[PATCH 5/7] crypto: sha256-mb - Algorithm data structures

2016-03-24 Thread megha . dey
From: Megha Dey <megha@intel.com> This patch introduces the data structures and prototypes of functions needed for computing SHA256 hash using multi-buffer. Included are the structures of the multi-buffer SHA256 job, job scheduler in C and x86 assembly. Signed-off-by: Megha Dey

[PATCH 2/7] crypto: sha256-mb - SHA256 multibuffer job manager and glue code

2016-03-24 Thread megha . dey
From: Megha Dey <megha@intel.com> This patch introduces the multi-buffer job manager which is responsible for submitting scatter-gather buffers from several SHA256 jobs to the multi-buffer algorithm. It also contains the flush routine to that's called by the crypto daemon to complete t

[PATCH 4/6] crypto: sha512-mb - Algorithm data structures

2016-03-24 Thread megha . dey
From: Megha Dey <megha@linux.intel.com> This patch introduces the data structures and prototypes of functions needed for computing SHA512 hash using multi-buffer. Included are the structures of the multi-buffer SHA512 job, job scheduler in C and x86 assembly. Signed-off-by: Megha Dey

[PATCH 5/6] crypto: sha512-mb - Crypto computation (x4 AVX2)

2016-03-24 Thread megha . dey
From: Megha Dey <megha@linux.intel.com> This patch introduces the assembly routines to do SHA512 computation on buffers belonging to several jobs at once. The assembly routines are optimized with AVX2 instructions that have 4 data lanes and using AVX2 registers. Signed-off-by: Meg

[PATCH 1/6] crypto: sha512-mb - SHA512 multibuffer job manager and glue code

2016-03-24 Thread megha . dey
From: Megha Dey <megha@linux.intel.com> This patch introduces the multi-buffer job manager which is responsible for submitting scatter-gather buffers from several SHA512 jobs to the multi-buffer algorithm. It also contains the flush routine that's called by the crypto daemon to co

[PATCH 6/6] crypto: tcrypt - Add new mode for sha512_mb

2016-03-24 Thread megha . dey
From: Megha Dey <megha@linux.intel.com> Add a new mode to calculate the speed of the sha512_mb algorithm Signed-off-by: Megha Dey <megha@linux.intel.com> Reviewed-by: Fenghua Yu <fenghua...@intel.com> Reviewed-by: Tim Chen <tim.c.c...@linux.intel.com> --- crypt

[PATCH 7/7] crypto: tcrypt - Add speed tests for SHA multibuffer algorithms

2016-03-24 Thread megha . dey
From: Megha Dey <megha@intel.com> The existing test suite to calculate the speed of the SHA algorithms assumes serial (single buffer)) computation of data. With the SHA multibuffer algorithms, we work on 8 lanes of data in parallel. Hence, the need to introduce a new test suite to cal

[PATCH 6/7] crypto: sha256-mb - Crypto computation (x8 AVX2)

2016-03-24 Thread megha . dey
From: Megha Dey <megha@intel.com> This patch introduces the assembly routines to do SHA256 computation on buffers belonging to several jobs at once. The assembly routines are optimized with AVX2 instructions that have 8 data lanes and using AVX2 registers. Signed-off-by: Megha Dey

[PATCH 0/7] crypto: SHA256 multibuffer implementation

2016-03-24 Thread megha . dey
From: Megha Dey <megha@linux.intel.com> In this patch series, we introduce the multi-buffer crypto algorithm on x86_64 and apply it to SHA256 hash computation. The multi-buffer technique takes advantage of the 8 data lanes in the AVX2 registers and allows computation to be performed o

[PATCH] crypto : sha1-mb : Add missing args_digest offset

2016-01-25 Thread Megha Dey
From: Megha Dey <megha@linux.intel.com> The _args_digest is defined as _args+_digest, both of which are the first members of 2 separate structures, effectively yielding _args_digest to have a value of zero. Thus, no errors have spawned yet due to this. To ensure sanity, adding the m