Re: [PATCHv2] rcu: tree: correctly handle sparse possible CPUs

From: Mark Rutland
Date: Wed May 18 2016 - 14:15:27 EST


On Wed, May 18, 2016 at 02:02:36PM +0200, Arnd Bergmann wrote:
> It's the missing "possible_" that Mark mentioned in his reply on Friday.

Actually, that was this morning. My VM on my laptop had a stale date due to
suspend/resume of the host. :/

I should be back at a real computer by Friday, and can respin the patch to fix
the issue Andrey pointed out.

Thanks for the fixup, and sorry for the confusion!

Mark.

> Please fold the fixup below into the patch if you want to get it to build.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx
>
> diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> index fd6b0f701bed..bb137b0ef6f3 100644
> --- a/kernel/rcu/tree_plugin.h
> +++ b/kernel/rcu/tree_plugin.h
> @@ -1165,7 +1165,7 @@ static void rcu_boost_kthread_setaffinity(struct rcu_node *rnp, int outgoingcpu)
> return;
> if (!zalloc_cpumask_var(&cm, GFP_KERNEL))
> return;
> - for_each_leaf_node_cpu_bit(rnp, cpu, bit)
> + for_each_leaf_node_possible_cpu_bit(rnp, cpu, bit)
> if ((mask & bit) && cpu != outgoingcpu)
> cpumask_set_cpu(cpu, cm);
> if (cpumask_weight(cm) == 0)
>