diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2021-08-05 13:28:24 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2021-09-13 16:36:16 -0700 |
commit | efeff6b39b9de4480572c7b0c5eb77204795cb57 (patch) | |
tree | c039b31ab10219accfb5ca1c93b01596d5a84f5c /include/linux/torture.h | |
parent | fda84866b1e68ab409074e7fcf1a7db800615445 (diff) | |
download | lwn-efeff6b39b9de4480572c7b0c5eb77204795cb57.tar.gz lwn-efeff6b39b9de4480572c7b0c5eb77204795cb57.zip |
rcutorture: Warn on individual rcu_torture_init() error conditions
When running rcutorture as a module, any rcu_torture_init() issues will be
reflected in the error code from modprobe or insmod, as the case may be.
However, these error codes are not available when running rcutorture
built-in, for example, when using the kvm.sh script. This commit
therefore adds WARN_ON_ONCE() to allow distinguishing rcu_torture_init()
errors when running rcutorture built-in.
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'include/linux/torture.h')
-rw-r--r-- | include/linux/torture.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/torture.h b/include/linux/torture.h index 0910c5803f35..24f58e50a94b 100644 --- a/include/linux/torture.h +++ b/include/linux/torture.h @@ -47,6 +47,14 @@ do { \ } while (0) void verbose_torout_sleep(void); +#define torture_init_error(firsterr) \ +({ \ + int ___firsterr = (firsterr); \ + \ + WARN_ONCE(!IS_MODULE(CONFIG_RCU_TORTURE_TEST) && ___firsterr < 0, "Torture-test initialization failed with error code %d\n", ___firsterr); \ + ___firsterr < 0; \ +}) + /* Definitions for online/offline exerciser. */ #ifdef CONFIG_HOTPLUG_CPU int torture_num_online_cpus(void); |