2022-06-17 16:54:11

by Zqiang

[permalink] [raw]
Subject: [PATCH v2] rcu/nocb: Correct output rcuog/rcuop kthreads information

This commit make rcuog and rcuop thread information output
in the correct location.

Signed-off-by: Zqiang <[email protected]>
---
v1->v2:
Only change commit information, the v1 is
[PATCH] rcu: Fix incorrect judgment condition in show_rcu_nocb_state().

kernel/rcu/tree_nocb.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h
index a8f574d8850d..f20aec4f4394 100644
--- a/kernel/rcu/tree_nocb.h
+++ b/kernel/rcu/tree_nocb.h
@@ -1452,8 +1452,8 @@ static void show_rcu_nocb_gp_state(struct rcu_data *rdp)
(long)rdp->nocb_gp_seq,
rnp->grplo, rnp->grphi, READ_ONCE(rdp->nocb_gp_loops),
rdp->nocb_gp_kthread ? task_state_to_char(rdp->nocb_gp_kthread) : '.',
- rdp->nocb_cb_kthread ? (int)task_cpu(rdp->nocb_gp_kthread) : -1,
- show_rcu_should_be_on_cpu(rdp->nocb_cb_kthread));
+ rdp->nocb_gp_kthread ? (int)task_cpu(rdp->nocb_gp_kthread) : -1,
+ show_rcu_should_be_on_cpu(rdp->nocb_gp_kthread));
}

/* Dump out nocb kthread state for the specified rcu_data structure. */
@@ -1497,7 +1497,7 @@ static void show_rcu_nocb_state(struct rcu_data *rdp)
".B"[!!rcu_cblist_n_cbs(&rdp->nocb_bypass)],
rcu_segcblist_n_cbs(&rdp->cblist),
rdp->nocb_cb_kthread ? task_state_to_char(rdp->nocb_cb_kthread) : '.',
- rdp->nocb_cb_kthread ? (int)task_cpu(rdp->nocb_gp_kthread) : -1,
+ rdp->nocb_cb_kthread ? (int)task_cpu(rdp->nocb_cb_kthread) : -1,
show_rcu_should_be_on_cpu(rdp->nocb_cb_kthread));

/* It is OK for GP kthreads to have GP state. */
--
2.25.1


2022-06-18 05:37:57

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [PATCH v2] rcu/nocb: Correct output rcuog/rcuop kthreads information

On Fri, Jun 17, 2022 at 10:15:19PM +0800, Zqiang wrote:
> This commit make rcuog and rcuop thread information output
> in the correct location.
>
> Signed-off-by: Zqiang <[email protected]>

Good catch, queued for review and testing, thank you!

Ditto for the "rcu: Avoid reporting strict QSes from NMI context"
patch.

As always, I wordsmithed both commit logs, so please check to see if
I messed something up.

Thanx, Paul

> ---
> v1->v2:
> Only change commit information, the v1 is
> [PATCH] rcu: Fix incorrect judgment condition in show_rcu_nocb_state().
>
> kernel/rcu/tree_nocb.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h
> index a8f574d8850d..f20aec4f4394 100644
> --- a/kernel/rcu/tree_nocb.h
> +++ b/kernel/rcu/tree_nocb.h
> @@ -1452,8 +1452,8 @@ static void show_rcu_nocb_gp_state(struct rcu_data *rdp)
> (long)rdp->nocb_gp_seq,
> rnp->grplo, rnp->grphi, READ_ONCE(rdp->nocb_gp_loops),
> rdp->nocb_gp_kthread ? task_state_to_char(rdp->nocb_gp_kthread) : '.',
> - rdp->nocb_cb_kthread ? (int)task_cpu(rdp->nocb_gp_kthread) : -1,
> - show_rcu_should_be_on_cpu(rdp->nocb_cb_kthread));
> + rdp->nocb_gp_kthread ? (int)task_cpu(rdp->nocb_gp_kthread) : -1,
> + show_rcu_should_be_on_cpu(rdp->nocb_gp_kthread));
> }
>
> /* Dump out nocb kthread state for the specified rcu_data structure. */
> @@ -1497,7 +1497,7 @@ static void show_rcu_nocb_state(struct rcu_data *rdp)
> ".B"[!!rcu_cblist_n_cbs(&rdp->nocb_bypass)],
> rcu_segcblist_n_cbs(&rdp->cblist),
> rdp->nocb_cb_kthread ? task_state_to_char(rdp->nocb_cb_kthread) : '.',
> - rdp->nocb_cb_kthread ? (int)task_cpu(rdp->nocb_gp_kthread) : -1,
> + rdp->nocb_cb_kthread ? (int)task_cpu(rdp->nocb_cb_kthread) : -1,
> show_rcu_should_be_on_cpu(rdp->nocb_cb_kthread));
>
> /* It is OK for GP kthreads to have GP state. */
> --
> 2.25.1
>

2022-06-18 13:07:20

by Zqiang

[permalink] [raw]
Subject: RE: [PATCH v2] rcu/nocb: Correct output rcuog/rcuop kthreads information

On Fri, Jun 17, 2022 at 10:15:19PM +0800, Zqiang wrote:
> This commit make rcuog and rcuop thread information output in the
> correct location.
>
> Signed-off-by: Zqiang <[email protected]>
>
>Good catch, queued for review and testing, thank you!
>
>Ditto for the "rcu: Avoid reporting strict QSes from NMI context"
>patch.

Hi Paul, please remove this patch, the preempt_count() imply in_nmi()

Thanks
Zqiang

>
>As always, I wordsmithed both commit logs, so please check to see if I messed something up.
>
> Thanx, Paul
>
> ---
> v1->v2:
> Only change commit information, the v1 is [PATCH] rcu: Fix incorrect
> judgment condition in show_rcu_nocb_state().
>
> kernel/rcu/tree_nocb.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/kernel/rcu/tree_nocb.h b/kernel/rcu/tree_nocb.h index
> a8f574d8850d..f20aec4f4394 100644
> --- a/kernel/rcu/tree_nocb.h
> +++ b/kernel/rcu/tree_nocb.h
> @@ -1452,8 +1452,8 @@ static void show_rcu_nocb_gp_state(struct rcu_data *rdp)
> (long)rdp->nocb_gp_seq,
> rnp->grplo, rnp->grphi, READ_ONCE(rdp->nocb_gp_loops),
> rdp->nocb_gp_kthread ? task_state_to_char(rdp->nocb_gp_kthread) : '.',
> - rdp->nocb_cb_kthread ? (int)task_cpu(rdp->nocb_gp_kthread) : -1,
> - show_rcu_should_be_on_cpu(rdp->nocb_cb_kthread));
> + rdp->nocb_gp_kthread ? (int)task_cpu(rdp->nocb_gp_kthread) : -1,
> + show_rcu_should_be_on_cpu(rdp->nocb_gp_kthread));
> }
>
> /* Dump out nocb kthread state for the specified rcu_data structure.
> */ @@ -1497,7 +1497,7 @@ static void show_rcu_nocb_state(struct rcu_data *rdp)
> ".B"[!!rcu_cblist_n_cbs(&rdp->nocb_bypass)],
> rcu_segcblist_n_cbs(&rdp->cblist),
> rdp->nocb_cb_kthread ? task_state_to_char(rdp->nocb_cb_kthread) : '.',
> - rdp->nocb_cb_kthread ? (int)task_cpu(rdp->nocb_gp_kthread) : -1,
> + rdp->nocb_cb_kthread ? (int)task_cpu(rdp->nocb_cb_kthread) : -1,
> show_rcu_should_be_on_cpu(rdp->nocb_cb_kthread));
>
> /* It is OK for GP kthreads to have GP state. */
> --
> 2.25.1
>