[rcu:rcu/next 27/27] kernel//rcu/rcutorture.c:1124:3: note: in expansion of macro 'rcu_ftrace_dump'
From: kbuild test robot
Date: Fri Sep 01 2017 - 18:17:53 EST
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 <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