[rcu:dev.2018.04.30b 50/51] kernel//rcu/tree.c:2034:34: error: 'struct rcu_state' has no member named 'completed'
From: kbuild test robot
Date: Tue May 01 2018 - 17:57:37 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2018.04.30b
head: 20bf5e55125a36b7ec82aef23f1d67eae703d2da
commit: 3fe178188280d233ea019dfea88d68dbd4dc893a [50/51] rcu: Remove ->gpnum and ->completed
config: i386-randconfig-x006-201817 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
git checkout 3fe178188280d233ea019dfea88d68dbd4dc893a
# save the attached .config to linux build tree
make ARCH=i386
Note: the rcu/dev.2018.04.30b HEAD 20bf5e55125a36b7ec82aef23f1d67eae703d2da builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
kernel//rcu/tree.c: In function 'rcu_gp_cleanup':
>> kernel//rcu/tree.c:2034:34: error: 'struct rcu_state' has no member named 'completed'
trace_rcu_this_gp(rnp, rdp, rsp->completed - 1,
^~
vim +2034 kernel//rcu/tree.c
4cdfc175c kernel/rcutree.c Paul E. McKenney 2012-06-22 1966
4cdfc175c kernel/rcutree.c Paul E. McKenney 2012-06-22 1967 /*
7fdefc10e kernel/rcutree.c Paul E. McKenney 2012-06-22 1968 * Clean up after the old grace period.
7fdefc10e kernel/rcutree.c Paul E. McKenney 2012-06-22 1969 */
4cdfc175c kernel/rcutree.c Paul E. McKenney 2012-06-22 1970 static void rcu_gp_cleanup(struct rcu_state *rsp)
7fdefc10e kernel/rcutree.c Paul E. McKenney 2012-06-22 1971 {
7fdefc10e kernel/rcutree.c Paul E. McKenney 2012-06-22 1972 unsigned long gp_duration;
48a7639ce kernel/rcu/tree.c Paul E. McKenney 2014-03-11 1973 bool needgp = false;
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26 1974 unsigned long new_gp_seq;
7fdefc10e kernel/rcutree.c Paul E. McKenney 2012-06-22 1975 struct rcu_data *rdp;
7fdefc10e kernel/rcutree.c Paul E. McKenney 2012-06-22 1976 struct rcu_node *rnp = rcu_get_root(rsp);
abedf8e24 kernel/rcu/tree.c Paul Gortmaker 2016-02-19 1977 struct swait_queue_head *sq;
7fdefc10e kernel/rcutree.c Paul E. McKenney 2012-06-22 1978
7d0ae8086 kernel/rcu/tree.c Paul E. McKenney 2015-03-03 1979 WRITE_ONCE(rsp->gp_activity, jiffies);
2a67e741b kernel/rcu/tree.c Peter Zijlstra 2015-10-08 1980 raw_spin_lock_irq_rcu_node(rnp);
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1981 gp_duration = jiffies - rsp->gp_start;
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1982 if (gp_duration > rsp->gp_max)
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1983 rsp->gp_max = gp_duration;
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1984
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1985 /*
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1986 * We know the grace period is complete, but to everyone else
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1987 * it appears to still be ongoing. But it is also the case
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1988 * that to everyone else it looks like there is nothing that
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1989 * they can do to advance the grace period. It is therefore
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1990 * safe for us to drop the lock in order to mark the grace
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1991 * period as completed in all of the rcu_node structures.
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1992 */
67c583a7d kernel/rcu/tree.c Boqun Feng 2015-12-29 1993 raw_spin_unlock_irq_rcu_node(rnp);
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1994
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 1995 /*
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01 1996 * Propagate new ->gp_seq value to rcu_node structures so that
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01 1997 * other CPUs don't have to wait until the start of the next grace
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01 1998 * period to process their callbacks. This also avoids some nasty
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01 1999 * RCU grace-period initialization races by forcing the end of
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01 2000 * the current grace period to be completely recorded in all of
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01 2001 * the rcu_node structures before the beginning of the next grace
3fe178188 kernel/rcu/tree.c Paul E. McKenney 2018-05-01 2002 * period is recorded in any of the rcu_node structures.
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 2003 */
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26 2004 new_gp_seq = rsp->gp_seq;
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26 2005 rcu_seq_end(&new_gp_seq);
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 2006 rcu_for_each_node_breadth_first(rsp, rnp) {
2a67e741b kernel/rcu/tree.c Peter Zijlstra 2015-10-08 2007 raw_spin_lock_irq_rcu_node(rnp);
658cf23dd kernel/rcu/tree.c Paul E. McKenney 2018-04-30 2008 if (WARN_ON_ONCE(rcu_preempt_blocked_readers_cgp(rnp)))
658cf23dd kernel/rcu/tree.c Paul E. McKenney 2018-04-30 2009 dump_blkd_tasks(rnp, 10);
5c60d25fa kernel/rcu/tree.c Paul E. McKenney 2015-02-09 2010 WARN_ON_ONCE(rnp->qsmask);
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26 2011 WRITE_ONCE(rnp->gp_seq, new_gp_seq);
b11cc5760 kernel/rcutree.c Paul E. McKenney 2012-12-17 2012 rdp = this_cpu_ptr(rsp->rda);
b11cc5760 kernel/rcutree.c Paul E. McKenney 2012-12-17 2013 if (rnp == rdp->mynode)
48a7639ce kernel/rcu/tree.c Paul E. McKenney 2014-03-11 2014 needgp = __note_gp_changes(rsp, rnp, rdp) || needgp;
78e4bc34e kernel/rcu/tree.c Paul E. McKenney 2013-09-24 2015 /* smp_mb() provided by prior unlock-lock pair. */
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12 2016 needgp = rcu_future_gp_cleanup(rsp, rnp) || needgp;
065bb78c5 kernel/rcu/tree.c Daniel Wagner 2016-02-19 2017 sq = rcu_nocb_gp_get(rnp);
67c583a7d kernel/rcu/tree.c Boqun Feng 2015-12-29 2018 raw_spin_unlock_irq_rcu_node(rnp);
065bb78c5 kernel/rcu/tree.c Daniel Wagner 2016-02-19 2019 rcu_nocb_gp_cleanup(sq);
7be487444 kernel/rcu/tree.c Paul E. McKenney 2018-03-02 2020 cond_resched_tasks_rcu_qs();
7d0ae8086 kernel/rcu/tree.c Paul E. McKenney 2015-03-03 2021 WRITE_ONCE(rsp->gp_activity, jiffies);
0f41c0dda kernel/rcu/tree.c Paul E. McKenney 2015-03-10 2022 rcu_gp_slow(rsp, gp_cleanup_delay);
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 2023 }
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 2024 rnp = rcu_get_root(rsp);
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26 2025 raw_spin_lock_irq_rcu_node(rnp); /* GP before rsp->gp_seq update. */
cabc49c1f kernel/rcutree.c Paul E. McKenney 2012-06-20 2026
765a3f4fe kernel/rcu/tree.c Paul E. McKenney 2014-03-14 2027 /* Declare grace period done. */
69bdc2d1b kernel/rcu/tree.c Paul E. McKenney 2018-04-26 2028 rcu_seq_end(&rsp->gp_seq);
b0e0a91bf kernel/rcu/tree.c Paul E. McKenney 2018-05-01 2029 trace_rcu_grace_period(rsp->name, rsp->gp_seq, TPS("end"));
77f81fe08 kernel/rcu/tree.c Petr Mladek 2015-09-09 2030 rsp->gp_state = RCU_GP_IDLE;
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12 2031 /* Check for GP requests since above loop. */
5d4b86594 kernel/rcutree.c Paul E. McKenney 2012-07-07 2032 rdp = this_cpu_ptr(rsp->rda);
a52f3505f kernel/rcu/tree.c Paul E. McKenney 2018-05-01 2033 if (ULONG_CMP_LT(rnp->gp_seq, rnp->gp_seq_needed)) {
36399f0af kernel/rcu/tree.c Paul E. McKenney 2018-04-12 @2034 trace_rcu_this_gp(rnp, rdp, rsp->completed - 1,
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12 2035 TPS("CleanupMore"));
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12 2036 needgp = true;
1fc20cd10 kernel/rcu/tree.c Paul E. McKenney 2018-04-12 2037 }
48a7639ce kernel/rcu/tree.c Paul E. McKenney 2014-03-11 2038 /* Advance CBs to reduce false positives below. */
ba3d39d41 kernel/rcu/tree.c Paul E. McKenney 2018-04-12 2039 if (!rcu_accelerate_cbs(rsp, rnp, rdp) && needgp) {
7d0ae8086 kernel/rcu/tree.c Paul E. McKenney 2015-03-03 2040 WRITE_ONCE(rsp->gp_flags, RCU_GP_FLAG_INIT);
fe355ab27 kernel/rcu/tree.c Paul E. McKenney 2018-04-21 2041 rsp->gp_req_activity = jiffies;
b0e0a91bf kernel/rcu/tree.c Paul E. McKenney 2018-05-01 2042 trace_rcu_grace_period(rsp->name, READ_ONCE(rsp->gp_seq),
bb311eccb kernel/rcutree.c Paul E. McKenney 2013-08-09 2043 TPS("newreq"));
d7e476b4e kernel/rcu/tree.c Paul E. McKenney 2018-04-22 2044 } else {
5406da57f kernel/rcu/tree.c Paul E. McKenney 2018-04-19 2045 WRITE_ONCE(rsp->gp_flags, rsp->gp_flags & RCU_GP_FLAG_INIT);
d7e476b4e kernel/rcu/tree.c Paul E. McKenney 2018-04-22 2046 }
67c583a7d kernel/rcu/tree.c Boqun Feng 2015-12-29 2047 raw_spin_unlock_irq_rcu_node(rnp);
7fdefc10e kernel/rcutree.c Paul E. McKenney 2012-06-22 2048 }
7fdefc10e kernel/rcutree.c Paul E. McKenney 2012-06-22 2049
:::::: The code at line 2034 was first introduced by commit
:::::: 36399f0aff0c32e86e0c30eb47262185db44ecd8 rcu: Make rcu_start_future_gp() caller select grace period
:::::: TO: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
:::::: CC: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip