rcutorture: Use the gp_kthread_dbg operation specified by cur_ops
authorZqiang <qiang.zhang1211@gmail.com>
Fri, 15 Mar 2024 07:17:10 +0000 (15:17 +0800)
committerUladzislau Rezki (Sony) <urezki@gmail.com>
Tue, 16 Apr 2024 09:16:35 +0000 (11:16 +0200)
Despite there being a cur_ops->gp_kthread_dbg(), rcu_torture_writer()
unconditionally invokes vanilla RCU's show_rcu_gp_kthreads().  This is not
at all helpful when some other flavor of RCU is being tested.  This commit
therefore makes rcu_torture_writer() invoke cur_ops->gp_kthread_dbg()
for RCU implementations providing this function.

Signed-off-by: Zqiang <qiang.zhang1211@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
kernel/rcu/rcutorture.c

index dd7d5ba457409febfdb0751fe59e4b9ca4b3c8d7..2f43d31fb7a54cb0c4a68abc32dea0d4412bad9e 100644 (file)
@@ -1589,7 +1589,8 @@ rcu_torture_writer(void *arg)
                                if (list_empty(&rcu_tortures[i].rtort_free) &&
                                    rcu_access_pointer(rcu_torture_current) != &rcu_tortures[i]) {
                                        tracing_off();
-                                       show_rcu_gp_kthreads();
+                                       if (cur_ops->gp_kthread_dbg)
+                                               cur_ops->gp_kthread_dbg();
                                        WARN(1, "%s: rtort_pipe_count: %d\n", __func__, rcu_tortures[i].rtort_pipe_count);
                                        rcu_ftrace_dump(DUMP_ALL);
                                }