tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git 
rcu/next
head:   909bd6e3d9e73fd0ca1d6255466573d4c3fbe321
commit: 909bd6e3d9e73fd0ca1d6255466573d4c3fbe321 [27/27] rcu: Suppress RCU CPU 
stall warnings while dumping trace
config: x86_64-randconfig-x016-201735 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout 909bd6e3d9e73fd0ca1d6255466573d4c3fbe321
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from kernel//rcu/rcutorture.c:56:0:
   kernel//rcu/rcutorture.c: In function 'rcu_torture_timer':
   kernel//rcu/rcu.h:225:8: error: 'rcu_cpu_stall_suppress' undeclared (first 
use in this function)
      if (!rcu_cpu_stall_suppress) \
           ^
>> kernel//rcu/rcutorture.c:1124:3: note: in expansion of macro 
>> 'rcu_ftrace_dump'
      rcu_ftrace_dump(DUMP_ALL);
      ^~~~~~~~~~~~~~~
   kernel//rcu/rcu.h:225:8: note: each undeclared identifier is reported only 
once for each function it appears in
      if (!rcu_cpu_stall_suppress) \
           ^
>> kernel//rcu/rcutorture.c:1124:3: note: in expansion of macro 
>> 'rcu_ftrace_dump'
      rcu_ftrace_dump(DUMP_ALL);
      ^~~~~~~~~~~~~~~
   kernel//rcu/rcutorture.c: In function 'rcu_torture_reader':
   kernel//rcu/rcu.h:225:8: error: 'rcu_cpu_stall_suppress' undeclared (first 
use in this function)
      if (!rcu_cpu_stall_suppress) \
           ^
   kernel//rcu/rcutorture.c:1205:4: note: in expansion of macro 
'rcu_ftrace_dump'
       rcu_ftrace_dump(DUMP_ALL);
       ^~~~~~~~~~~~~~~
   kernel//rcu/rcutorture.c: In function 'rcu_torture_stats_print':
   kernel//rcu/rcu.h:225:8: error: 'rcu_cpu_stall_suppress' undeclared (first 
use in this function)
      if (!rcu_cpu_stall_suppress) \
           ^
   kernel//rcu/rcutorture.c:1335:3: note: in expansion of macro 
'rcu_ftrace_dump'
      rcu_ftrace_dump(DUMP_ALL);
      ^~~~~~~~~~~~~~~

vim +/rcu_ftrace_dump +1124 kernel//rcu/rcutorture.c

f34c8585e kernel/rcu/rcutorture.c Paul E. McKenney 2017-07-20  1074  
b772e1dd4 kernel/rcutorture.c     Josh Triplett    2006-10-04  1075  /*
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1076   * RCU 
torture reader from timer handler.  Dereferences rcu_torture_current,
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1077   * 
incrementing the corresponding element of the pipeline array.  The
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1078   * counter 
in the element should never be greater than 1, otherwise, the
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1079   * RCU 
implementation is broken.
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1080   */
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1081  static 
void rcu_torture_timer(unsigned long unused)
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1082  {
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1083     int idx;
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1084     
unsigned long started;
6b80da42c kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1085     
unsigned long completed;
51b1130eb kernel/rcu/rcutorture.c Paul E. McKenney 2014-01-27  1086     static 
DEFINE_TORTURE_RANDOM(rand);
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1087     static 
DEFINE_SPINLOCK(rand_lock);
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1088     struct 
rcu_torture *p;
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1089     int 
pipe_count;
524945351 kernel/rcutorture.c     Paul E. McKenney 2012-11-14  1090     
unsigned long long ts;
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1091  
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1092     idx = 
cur_ops->readlock();
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1093     if 
(cur_ops->started)
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1094             
started = cur_ops->started();
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1095     else
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1096             
started = cur_ops->completed();
e4aa0da39 kernel/rcutorture.c     Steven Rostedt   2013-02-04  1097     ts = 
rcu_trace_clock_local();
632ee2001 kernel/rcutorture.c     Paul E. McKenney 2010-02-22  1098     p = 
rcu_dereference_check(rcu_torture_current,
632ee2001 kernel/rcutorture.c     Paul E. McKenney 2010-02-22  1099             
                  rcu_read_lock_bh_held() ||
632ee2001 kernel/rcutorture.c     Paul E. McKenney 2010-02-22  1100             
                  rcu_read_lock_sched_held() ||
5be5d1a11 kernel/rcu/rcutorture.c Paul E. McKenney 2015-06-30  1101             
                  srcu_read_lock_held(srcu_ctlp) ||
5be5d1a11 kernel/rcu/rcutorture.c Paul E. McKenney 2015-06-30  1102             
                  torturing_tasks());
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1103     if (p 
== NULL) {
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1104             
/* Leave because rcu_torture_writer is not yet underway */
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1105             
cur_ops->readunlock(idx);
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1106             
return;
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1107     }
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1108     if 
(p->rtort_mbtest == 0)
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1109             
atomic_inc(&n_rcu_torture_mberror);
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1110     
spin_lock(&rand_lock);
0acc512cb kernel/rcutorture.c     Paul E. McKenney 2009-06-25  1111     
cur_ops->read_delay(&rand);
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1112     
n_rcu_torture_timers++;
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1113     
spin_unlock(&rand_lock);
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1114     
preempt_disable();
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1115     
pipe_count = p->rtort_pipe_count;
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1116     if 
(pipe_count > RCU_TORTURE_PIPE_LEN) {
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1117             
/* Should not happen, but... */
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1118             
pipe_count = RCU_TORTURE_PIPE_LEN;
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1119     }
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1120     
completed = cur_ops->completed();
524945351 kernel/rcutorture.c     Paul E. McKenney 2012-11-14  1121     if 
(pipe_count > 1) {
524945351 kernel/rcutorture.c     Paul E. McKenney 2012-11-14  1122             
do_trace_rcu_torture_read(cur_ops->name, &p->rtort_rcu, ts,
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1123             
                          started, completed);
274529ba9 kernel/rcu/rcutorture.c Paul E. McKenney 2016-03-21 @1124             
rcu_ftrace_dump(DUMP_ALL);
524945351 kernel/rcutorture.c     Paul E. McKenney 2012-11-14  1125     }
dd17c8f72 kernel/rcutorture.c     Rusty Russell    2009-10-29  1126     
__this_cpu_inc(rcu_torture_count[pipe_count]);
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1127     
completed = completed - started;
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1128     if 
(cur_ops->started)
917963d0b kernel/rcu/rcutorture.c Paul E. McKenney 2014-11-21  1129             
completed++;
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1130     if 
(completed > RCU_TORTURE_PIPE_LEN) {
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1131             
/* Should not happen, but... */
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1132             
completed = RCU_TORTURE_PIPE_LEN;
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1133     }
dd17c8f72 kernel/rcutorture.c     Rusty Russell    2009-10-29  1134     
__this_cpu_inc(rcu_torture_batch[completed]);
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1135     
preempt_enable();
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1136     
cur_ops->readunlock(idx);
f34c8585e kernel/rcu/rcutorture.c Paul E. McKenney 2017-07-20  1137  
f34c8585e kernel/rcu/rcutorture.c Paul E. McKenney 2017-07-20  1138     /* Test 
call_rcu() invocation from interrupt handler. */
f34c8585e kernel/rcu/rcutorture.c Paul E. McKenney 2017-07-20  1139     if 
(cur_ops->call) {
f34c8585e kernel/rcu/rcutorture.c Paul E. McKenney 2017-07-20  1140             
struct rcu_head *rhp = kmalloc(sizeof(*rhp), GFP_NOWAIT);
f34c8585e kernel/rcu/rcutorture.c Paul E. McKenney 2017-07-20  1141  
f34c8585e kernel/rcu/rcutorture.c Paul E. McKenney 2017-07-20  1142             
if (rhp)
f34c8585e kernel/rcu/rcutorture.c Paul E. McKenney 2017-07-20  1143             
        cur_ops->call(rhp, rcu_torture_timer_cb);
f34c8585e kernel/rcu/rcutorture.c Paul E. McKenney 2017-07-20  1144     }
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1145  }
0729fbf3b kernel/rcutorture.c     Paul E. McKenney 2008-06-25  1146  

:::::: The code at line 1124 was first introduced by commit
:::::: 274529ba9bda86c91c2c06da3a641aaf617dd30f rcu: Consolidate dumping of 
ftrace buffer

:::::: TO: Paul E. McKenney <paul...@linux.vnet.ibm.com>
:::::: CC: Paul E. McKenney <paul...@linux.vnet.ibm.com>

---
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