linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] crypto: Add a flag allowing the self-tests to be disabled at runtime.
@ 2016-04-29 11:03 Richard W.M. Jones
  2016-04-29 11:03 ` Richard W.M. Jones
  0 siblings, 1 reply; 3+ messages in thread
From: Richard W.M. Jones @ 2016-04-29 11:03 UTC (permalink / raw)
  To: linux-kernel; +Cc: corbet, herbert, davem, linux-doc, linux-crypto

v1 -> v2:

 - Use printk_once.

Because the serial console is so slow, printing the message multiple
times consumed about 6ms extra later on in the boot.  Printing it only
once is both neater and avoids this extra overhead.

Rich.

- - -

I'm trying to reduce the time taken in the kernel in initcalls, with
my aim being to reduce the current ~700ms spent in initcalls before
userspace, down to something like 100ms.  All times on my Broadwell-U
laptop, under virtualization.  The purpose of this is to be able to
launch VMs around containers with minimal overhead, like Intel Clear
Containers, but using standard distro kernels and qemu.

Currently the kernel spends 28ms (on my laptop) running crypto
algorithm self-tests.  Although it's possibe to disable these at
compile time, Fedora kernel maintainers want to maintain a single
kernel image for all uses.

So this commit adds a runtime flag which callers can set to skip the
self-tests in the fast container/virtualization case.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2] crypto: Add a flag allowing the self-tests to be disabled at runtime.
  2016-04-29 11:03 [PATCH v2] crypto: Add a flag allowing the self-tests to be disabled at runtime Richard W.M. Jones
@ 2016-04-29 11:03 ` Richard W.M. Jones
  2016-05-03  7:32   ` Herbert Xu
  0 siblings, 1 reply; 3+ messages in thread
From: Richard W.M. Jones @ 2016-04-29 11:03 UTC (permalink / raw)
  To: linux-kernel; +Cc: corbet, herbert, davem, linux-doc, linux-crypto

Running self-tests for a short-lived KVM VM takes 28ms on my laptop.
This commit adds a flag 'cryptomgr.notests' which allows them to be
disabled.

Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
---
 Documentation/kernel-parameters.txt | 3 +++
 crypto/testmgr.c                    | 9 +++++++++
 2 files changed, 12 insertions(+)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 0b3de80..d4d5fb7 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -826,6 +826,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 			It will be ignored when crashkernel=X,high is not used
 			or memory reserved is below 4G.
 
+	cryptomgr.notests
+                        [KNL] Disable crypto self-tests
+
 	cs89x0_dma=	[HW,NET]
 			Format: <dma>
 
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index b86883a..5c0664d 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -35,6 +35,10 @@
 
 #include "internal.h"
 
+static bool notests;
+module_param(notests, bool, 0644);
+MODULE_PARM_DESC(notests, "disable crypto self-tests");
+
 #ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS
 
 /* a perfect nop */
@@ -3868,6 +3872,11 @@ int alg_test(const char *driver, const char *alg, u32 type, u32 mask)
 	int j;
 	int rc;
 
+	if (notests) {
+		printk_once(KERN_INFO "alg: self-tests disabled\n");
+		return 0;
+	}
+
 	alg_test_descs_check_order();
 
 	if ((type & CRYPTO_ALG_TYPE_MASK) == CRYPTO_ALG_TYPE_CIPHER) {
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] crypto: Add a flag allowing the self-tests to be disabled at runtime.
  2016-04-29 11:03 ` Richard W.M. Jones
@ 2016-05-03  7:32   ` Herbert Xu
  0 siblings, 0 replies; 3+ messages in thread
From: Herbert Xu @ 2016-05-03  7:32 UTC (permalink / raw)
  To: Richard W.M. Jones; +Cc: linux-kernel, corbet, davem, linux-doc, linux-crypto

On Fri, Apr 29, 2016 at 12:03:04PM +0100, Richard W.M. Jones wrote:
> Running self-tests for a short-lived KVM VM takes 28ms on my laptop.
> This commit adds a flag 'cryptomgr.notests' which allows them to be
> disabled.
> 
> Signed-off-by: Richard W.M. Jones <rjones@redhat.com>

Please address the conflict with FIPS mode.

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-05-03  7:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-29 11:03 [PATCH v2] crypto: Add a flag allowing the self-tests to be disabled at runtime Richard W.M. Jones
2016-04-29 11:03 ` Richard W.M. Jones
2016-05-03  7:32   ` Herbert Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).