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