Message ID | 1493108740-1642-1-git-send-email-gilad@benyossef.com |
---|---|
State | New |
Headers | show |
On 4/25/2017 11:25 AM, Gilad Ben-Yossef wrote: > The tcrypt AEAD cycles speed tests disables irqs during the test, which is > broken at the very least since commit > '1425d2d17f7309c6 ("crypto: tcrypt - Fix AEAD speed tests")' > adds a wait for completion as part of the test and probably since > switching to the new AEAD API. > > While the result of taking a cycle count diff may not mean much on SMP > systems if the task migrates, it's good enough for tcrypt being the quick > & dirty dev tool it is. It's also what all the other (i.e. hash) cycle > speed tests do. > > Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com> > Reported-by: Ofir Drang <ofir.drang@arm.com> Reviewed-by: Horia Geantă <horia.geanta@nxp.com> I've also noticed this in CAAM accelerator - spin_unlock_bh() called from caam_jr_enqueue() complains due to disabled interrupts: WARNING: CPU: 4 PID: 2585 at kernel/softirq.c:161 .__local_bh_enable_ip+0x70/0xcc Thanks, Horia > --- > crypto/tcrypt.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c > index 9a11f3c..0dd6a43 100644 > --- a/crypto/tcrypt.c > +++ b/crypto/tcrypt.c > @@ -138,8 +138,6 @@ static int test_aead_cycles(struct aead_request *req, int enc, int blen) > int ret = 0; > int i; > > - local_irq_disable(); > - > /* Warm-up run. */ > for (i = 0; i < 4; i++) { > if (enc) > @@ -169,8 +167,6 @@ static int test_aead_cycles(struct aead_request *req, int enc, int blen) > } > > out: > - local_irq_enable(); > - > if (ret == 0) > printk("1 operation in %lu cycles (%d bytes)\n", > (cycles + 4) / 8, blen); >
On Tue, Apr 25, 2017 at 11:25:40AM +0300, Gilad Ben-Yossef wrote: > The tcrypt AEAD cycles speed tests disables irqs during the test, which is > broken at the very least since commit > '1425d2d17f7309c6 ("crypto: tcrypt - Fix AEAD speed tests")' > adds a wait for completion as part of the test and probably since > switching to the new AEAD API. > > While the result of taking a cycle count diff may not mean much on SMP > systems if the task migrates, it's good enough for tcrypt being the quick > & dirty dev tool it is. It's also what all the other (i.e. hash) cycle > speed tests do. > > Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com> > Reported-by: Ofir Drang <ofir.drang@arm.com> Patch applied. Thanks. -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c index 9a11f3c..0dd6a43 100644 --- a/crypto/tcrypt.c +++ b/crypto/tcrypt.c @@ -138,8 +138,6 @@ static int test_aead_cycles(struct aead_request *req, int enc, int blen) int ret = 0; int i; - local_irq_disable(); - /* Warm-up run. */ for (i = 0; i < 4; i++) { if (enc) @@ -169,8 +167,6 @@ static int test_aead_cycles(struct aead_request *req, int enc, int blen) } out: - local_irq_enable(); - if (ret == 0) printk("1 operation in %lu cycles (%d bytes)\n", (cycles + 4) / 8, blen);
The tcrypt AEAD cycles speed tests disables irqs during the test, which is broken at the very least since commit '1425d2d17f7309c6 ("crypto: tcrypt - Fix AEAD speed tests")' adds a wait for completion as part of the test and probably since switching to the new AEAD API. While the result of taking a cycle count diff may not mean much on SMP systems if the task migrates, it's good enough for tcrypt being the quick & dirty dev tool it is. It's also what all the other (i.e. hash) cycle speed tests do. Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com> Reported-by: Ofir Drang <ofir.drang@arm.com> --- crypto/tcrypt.c | 4 ---- 1 file changed, 4 deletions(-) -- 2.1.4