[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2685335.QWam4BCxRS@wuerfel>
Date: Wed, 18 May 2016 14:02:36 +0200
From: Arnd Bergmann <arnd@...db.de>
To: paulmck@...ux.vnet.ibm.com
Cc: Mark Rutland <mark.rutland@....com>, catalin.marinas@....com,
dennis.chen@....com, jiangshanlai@...il.com, josh@...htriplett.org,
linux-kernel@...r.kernel.org, mathieu.desnoyers@...icios.com,
rostedt@...dmis.org, steve.capper@....com, will.deacon@....com
Subject: Re: [PATCHv2] rcu: tree: correctly handle sparse possible CPUs
On Tuesday 17 May 2016 17:12:51 Paul E. McKenney wrote:
> And some build errors:
>
> In file included from /home/paulmck/public_git/linux-rcu/kernel/rcu/tree.c:4209:0:
> /home/paulmck/public_git/linux-rcu/kernel/rcu/tree_plugin.h: In function ‘rcu_boost_kthread_setaffinity’:
> /home/paulmck/public_git/linux-rcu/kernel/rcu/tree_plugin.h:1168:2: error: implicit declaration of function ‘for_each_leaf_node_cpu_bit’ [-Werror=implicit-function-declaration]
> for_each_leaf_node_cpu_bit(rnp, cpu, bit)
> ^
> /home/paulmck/public_git/linux-rcu/kernel/rcu/tree_plugin.h:1169:3: error: expected ‘;’ before ‘if’
> if ((mask & bit) && cpu != outgoingcpu)
> ^
> /home/paulmck/public_git/linux-rcu/kernel/rcu/tree_plugin.h:1159:16: warning: unused variable ‘mask’ [-Wunused-variable]
> unsigned long mask = rcu_rnp_online_cpus(rnp);
> ^
>
> Please see below for the .config.
>
> I have dropped the patch from my tree, looking forward to getting an
> update that fixes the build errors.
>
It's the missing "possible_" that Mark mentioned in his reply on Friday.
Please fold the fixup below into the patch if you want to get it to build.
Signed-off-by: Arnd Bergmann <arnd@...db.de
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)
Powered by blists - more mailing lists