2024-03-15 07:24:51

by Zqiang

[permalink] [raw]
Subject: [PATCH] rcutorture: Use the gp_kthread_dbg operation specified by cur_ops

Currently, for different types of rcutorture tests, when dumping
gp_kthread because of slow gp, always invoke show_rcu_gp_kthreads().
this commit therefore changes show_rcu_gp_kthreads() to
cur_ops->gp_kthread_dbg() to dump the correct information in
rcu_torture_writer().

Signed-off-by: Zqiang <[email protected]>
---
kernel/rcu/rcutorture.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index 51eebc523f08..9d269682256a 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -1617,7 +1617,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);
}
--
2.17.1



2024-03-17 05:04:04

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH] rcutorture: Use the gp_kthread_dbg operation specified by cur_ops

On Fri, Mar 15, 2024 at 03:17:10PM +0800, Zqiang wrote:
> Currently, for different types of rcutorture tests, when dumping
> gp_kthread because of slow gp, always invoke show_rcu_gp_kthreads().
> this commit therefore changes show_rcu_gp_kthreads() to
> cur_ops->gp_kthread_dbg() to dump the correct information in
> rcu_torture_writer().
>
> Signed-off-by: Zqiang <[email protected]>

Good eyes, queued, thank you!

Thanx, Paul

> ---
> kernel/rcu/rcutorture.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
> index 51eebc523f08..9d269682256a 100644
> --- a/kernel/rcu/rcutorture.c
> +++ b/kernel/rcu/rcutorture.c
> @@ -1617,7 +1617,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);
> }
> --
> 2.17.1
>