[rcu:rcu/dev 27/27] kernel/rcu/tree_exp.h:461:16: error: implicit declaration of function 'ACCESS_ONCE'; did you mean '__READ_ONCE'?

From: kbuild test robot
Date: Thu Feb 22 2018 - 21:10:43 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/dev
head: a57af56830b510f3dae7fa26313058c192f38f94
commit: a57af56830b510f3dae7fa26313058c192f38f94 [27/27] rcu: Parallelize expedited grace-period initialization
config: i386-randconfig-x004-201807 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout a57af56830b510f3dae7fa26313058c192f38f94
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

In file included from kernel/rcu/tree.c:4205:0:
kernel/rcu/tree_exp.h: In function 'sync_rcu_exp_select_cpus':
>> kernel/rcu/tree_exp.h:461:16: error: implicit declaration of function 'ACCESS_ONCE'; did you mean '__READ_ONCE'? [-Werror=implicit-function-declaration]
bool serial = ACCESS_ONCE(rcu_gp_workqueue);
^~~~~~~~~~~
__READ_ONCE
cc1: some warnings being treated as errors

vim +461 kernel/rcu/tree_exp.h

452
453 /*
454 * Select the nodes that the upcoming expedited grace period needs
455 * to wait for.
456 */
457 static void sync_rcu_exp_select_cpus(struct rcu_state *rsp,
458 smp_call_func_t func)
459 {
460 struct rcu_node *rnp;
> 461 bool serial = ACCESS_ONCE(rcu_gp_workqueue);
462
463 trace_rcu_exp_grace_period(rsp->name, rcu_exp_gp_seq_endval(rsp), TPS("reset"));
464 sync_exp_reset_tree(rsp);
465 trace_rcu_exp_grace_period(rsp->name, rcu_exp_gp_seq_endval(rsp), TPS("select"));
466
467 /* Schedule work for each leaf rcu_node structure. */
468 rcu_for_each_leaf_node(rsp, rnp) {
469 rnp->rew.rew_func = func;
470 rnp->rew.rew_rsp = rsp;
471 if (serial) {
472 func(&rnp->rew.rew_work); /* No workqueues yet. */
473 continue;
474 }
475 INIT_WORK(&rnp->rew.rew_work, sync_rcu_exp_select_node_cpus);
476 queue_work_on(rnp->grplo, rcu_gp_workqueue, &rnp->rew.rew_work);
477 }
478
479 /* Wait for workqueue jobs (if any) to complete. */
480 if (!serial)
481 rcu_for_each_leaf_node(rsp, rnp)
482 flush_work(&rnp->rew.rew_work);
483 }
484

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip