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 <[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
.config.gz
Description: application/gzip

