diff mbox series

crypto: testmgr - add some more preemption points

Message ID 20190603054233.5576-1-ebiggers@kernel.org (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series crypto: testmgr - add some more preemption points | expand

Commit Message

Eric Biggers June 3, 2019, 5:42 a.m. UTC
From: Eric Biggers <ebiggers@google.com>

Call cond_resched() after each fuzz test iteration.  This avoids stall
warnings if fuzz_iterations is set very high for testing purposes.

While we're at it, also call cond_resched() after finishing testing each
test vector.

Signed-off-by: Eric Biggers <ebiggers@google.com>
---
 crypto/testmgr.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Ard Biesheuvel June 3, 2019, 6:52 a.m. UTC | #1
On Mon, 3 Jun 2019 at 07:42, Eric Biggers <ebiggers@kernel.org> wrote:
>
> From: Eric Biggers <ebiggers@google.com>
>
> Call cond_resched() after each fuzz test iteration.  This avoids stall
> warnings if fuzz_iterations is set very high for testing purposes.
>
> While we're at it, also call cond_resched() after finishing testing each
> test vector.
>
> Signed-off-by: Eric Biggers <ebiggers@google.com>

Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---
>  crypto/testmgr.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/crypto/testmgr.c b/crypto/testmgr.c
> index 2ba0c487ea281..f7fdd7fe89a9e 100644
> --- a/crypto/testmgr.c
> +++ b/crypto/testmgr.c
> @@ -1496,6 +1496,7 @@ static int test_hash_vec(const char *driver, const struct hash_testvec *vec,
>                                                 req, desc, tsgl, hashstate);
>                         if (err)
>                                 return err;
> +                       cond_resched();
>                 }
>         }
>  #endif
> @@ -1764,6 +1765,7 @@ static int __alg_test_hash(const struct hash_testvec *vecs,
>                                     hashstate);
>                 if (err)
>                         goto out;
> +               cond_resched();
>         }
>         err = test_hash_vs_generic_impl(driver, generic_driver, maxkeysize, req,
>                                         desc, tsgl, hashstate);
> @@ -2028,6 +2030,7 @@ static int test_aead_vec(const char *driver, int enc,
>                                                 &cfg, req, tsgls);
>                         if (err)
>                                 return err;
> +                       cond_resched();
>                 }
>         }
>  #endif
> @@ -2267,6 +2270,7 @@ static int test_aead(const char *driver, int enc,
>                                     tsgls);
>                 if (err)
>                         return err;
> +               cond_resched();
>         }
>         return 0;
>  }
> @@ -2609,6 +2613,7 @@ static int test_skcipher_vec(const char *driver, int enc,
>                                                     &cfg, req, tsgls);
>                         if (err)
>                                 return err;
> +                       cond_resched();
>                 }
>         }
>  #endif
> @@ -2808,6 +2813,7 @@ static int test_skcipher(const char *driver, int enc,
>                                         tsgls);
>                 if (err)
>                         return err;
> +               cond_resched();
>         }
>         return 0;
>  }
> --
> 2.21.0
>
Herbert Xu June 13, 2019, 6:54 a.m. UTC | #2
Eric Biggers <ebiggers@kernel.org> wrote:
> From: Eric Biggers <ebiggers@google.com>
> 
> Call cond_resched() after each fuzz test iteration.  This avoids stall
> warnings if fuzz_iterations is set very high for testing purposes.
> 
> While we're at it, also call cond_resched() after finishing testing each
> test vector.
> 
> Signed-off-by: Eric Biggers <ebiggers@google.com>
> ---
> crypto/testmgr.c | 6 ++++++
> 1 file changed, 6 insertions(+)

Patch applied.  Thanks.
diff mbox series

Patch

diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 2ba0c487ea281..f7fdd7fe89a9e 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -1496,6 +1496,7 @@  static int test_hash_vec(const char *driver, const struct hash_testvec *vec,
 						req, desc, tsgl, hashstate);
 			if (err)
 				return err;
+			cond_resched();
 		}
 	}
 #endif
@@ -1764,6 +1765,7 @@  static int __alg_test_hash(const struct hash_testvec *vecs,
 				    hashstate);
 		if (err)
 			goto out;
+		cond_resched();
 	}
 	err = test_hash_vs_generic_impl(driver, generic_driver, maxkeysize, req,
 					desc, tsgl, hashstate);
@@ -2028,6 +2030,7 @@  static int test_aead_vec(const char *driver, int enc,
 						&cfg, req, tsgls);
 			if (err)
 				return err;
+			cond_resched();
 		}
 	}
 #endif
@@ -2267,6 +2270,7 @@  static int test_aead(const char *driver, int enc,
 				    tsgls);
 		if (err)
 			return err;
+		cond_resched();
 	}
 	return 0;
 }
@@ -2609,6 +2613,7 @@  static int test_skcipher_vec(const char *driver, int enc,
 						    &cfg, req, tsgls);
 			if (err)
 				return err;
+			cond_resched();
 		}
 	}
 #endif
@@ -2808,6 +2813,7 @@  static int test_skcipher(const char *driver, int enc,
 					tsgls);
 		if (err)
 			return err;
+		cond_resched();
 	}
 	return 0;
 }