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 <[email protected]>
:::::: CC: Paul E. McKenney <[email protected]>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to