Re: [PATCH] rcu: Avoid to modify mask_ofl_ipi in sync_rcu_exp_select_node_cpus()

2019-10-09 Thread Paul E. McKenney
On Tue, Oct 08, 2019 at 06:35:45PM +0200, Marco Elver wrote: > On Tue, 8 Oct 2019 at 18:30, Joel Fernandes wrote: > > > > On Tue, Oct 08, 2019 at 01:01:40PM +0800, Boqun Feng wrote: > > > "mask_ofl_ipi" is used for iterate CPUs which IPIs are needed to send > > > to, however in the IPI sending

Re: [PATCH] rcu: Avoid to modify mask_ofl_ipi in sync_rcu_exp_select_node_cpus()

2019-10-09 Thread Paul E. McKenney
On Tue, Oct 08, 2019 at 12:30:28PM -0400, Joel Fernandes wrote: > On Tue, Oct 08, 2019 at 01:01:40PM +0800, Boqun Feng wrote: > > "mask_ofl_ipi" is used for iterate CPUs which IPIs are needed to send > > to, however in the IPI sending loop, "mask_ofl_ipi" along with another > > variable

Re: [PATCH] rcu: Avoid to modify mask_ofl_ipi in sync_rcu_exp_select_node_cpus()

2019-10-09 Thread Joel Fernandes
On Wed, Oct 09, 2019 at 10:20:17AM +0800, Boqun Feng wrote: [snip] > > Boqun, are you going to be posting another patch which just uses > > mask_ofl_ipi > > in the for_each(..) loop? (without using _snap) as Paul suggested? > > > > IIUC, Paul already has this fix along with other ->expmask

Re: [PATCH] rcu: Avoid to modify mask_ofl_ipi in sync_rcu_exp_select_node_cpus()

2019-10-08 Thread Boqun Feng
On Tue, Oct 08, 2019 at 01:01:21PM -0400, Joel Fernandes wrote: > On Tue, Oct 08, 2019 at 06:35:45PM +0200, Marco Elver wrote: > > On Tue, 8 Oct 2019 at 18:30, Joel Fernandes wrote: > > > > > > On Tue, Oct 08, 2019 at 01:01:40PM +0800, Boqun Feng wrote: > > > > "mask_ofl_ipi" is used for iterate

Re: [PATCH] rcu: Avoid to modify mask_ofl_ipi in sync_rcu_exp_select_node_cpus()

2019-10-08 Thread Joel Fernandes
On Tue, Oct 08, 2019 at 06:35:45PM +0200, Marco Elver wrote: > On Tue, 8 Oct 2019 at 18:30, Joel Fernandes wrote: > > > > On Tue, Oct 08, 2019 at 01:01:40PM +0800, Boqun Feng wrote: > > > "mask_ofl_ipi" is used for iterate CPUs which IPIs are needed to send > > > to, however in the IPI sending

Re: [PATCH] rcu: Avoid to modify mask_ofl_ipi in sync_rcu_exp_select_node_cpus()

2019-10-08 Thread Marco Elver
On Tue, 8 Oct 2019 at 18:30, Joel Fernandes wrote: > > On Tue, Oct 08, 2019 at 01:01:40PM +0800, Boqun Feng wrote: > > "mask_ofl_ipi" is used for iterate CPUs which IPIs are needed to send > > to, however in the IPI sending loop, "mask_ofl_ipi" along with another > > variable "mask_ofl_test"

Re: [PATCH] rcu: Avoid to modify mask_ofl_ipi in sync_rcu_exp_select_node_cpus()

2019-10-08 Thread Joel Fernandes
On Tue, Oct 08, 2019 at 01:01:40PM +0800, Boqun Feng wrote: > "mask_ofl_ipi" is used for iterate CPUs which IPIs are needed to send > to, however in the IPI sending loop, "mask_ofl_ipi" along with another > variable "mask_ofl_test" might also get modified to record which CPU's > quiesent state can

Re: [PATCH] rcu: Avoid to modify mask_ofl_ipi in sync_rcu_exp_select_node_cpus()

2019-10-08 Thread Paul E. McKenney
On Tue, Oct 08, 2019 at 01:01:40PM +0800, Boqun Feng wrote: > "mask_ofl_ipi" is used for iterate CPUs which IPIs are needed to send > to, however in the IPI sending loop, "mask_ofl_ipi" along with another > variable "mask_ofl_test" might also get modified to record which CPU's > quiesent state can

[PATCH] rcu: Avoid to modify mask_ofl_ipi in sync_rcu_exp_select_node_cpus()

2019-10-07 Thread Boqun Feng
"mask_ofl_ipi" is used for iterate CPUs which IPIs are needed to send to, however in the IPI sending loop, "mask_ofl_ipi" along with another variable "mask_ofl_test" might also get modified to record which CPU's quiesent state can be reported by sync_rcu_exp_select_node_cpus(). Two variables seems