Hi, I love your patch! Yet something to improve: [auto build test ERROR on tip/core/rcu] url: https://github.com/0day-ci/linux/commits/paulmck-kernel-org/srcu-Fix-a-typo-in-comment-amoritized-amortized/20200623-085757 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git cb3cb6733fbd8fd8d2c716095fdca42dadba2063 config: x86_64-rhel-7.6 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 reproduce (this is a W=1 build): # save the attached .config to linux build tree make W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): kernel/rcu/srcutree.c: In function 'srcu_torture_stats_print': >> kernel/rcu/srcutree.c:1271:8: error: implicit declaration of function 'data_race' [-Werror=implicit-function-declaration] 1271 | u0 = data_race(sdp->srcu_unlock_count[!idx]); | ^~~~~~~~~ cc1: some warnings being treated as errors vim +/data_race +1271 kernel/rcu/srcutree.c 1f4f6da1c80905 Paul E. McKenney 2017-04-21 1254 aacb5d91ab1bfb Paul E. McKenney 2018-10-28 1255 void srcu_torture_stats_print(struct srcu_struct *ssp, char *tt, char *tf) 115a1a5285664f Paul E. McKenney 2017-05-22 1256 { 115a1a5285664f Paul E. McKenney 2017-05-22 1257 int cpu; 115a1a5285664f Paul E. McKenney 2017-05-22 1258 int idx; ac3748c6042660 Paul E. McKenney 2017-05-22 1259 unsigned long s0 = 0, s1 = 0; 115a1a5285664f Paul E. McKenney 2017-05-22 1260 aacb5d91ab1bfb Paul E. McKenney 2018-10-28 1261 idx = ssp->srcu_idx & 0x1; 52e17ba1d063ab Paul E. McKenney 2018-06-19 1262 pr_alert("%s%s Tree SRCU g%ld per-CPU(idx=%d):", aacb5d91ab1bfb Paul E. McKenney 2018-10-28 1263 tt, tf, rcu_seq_current(&ssp->srcu_gp_seq), idx); 115a1a5285664f Paul E. McKenney 2017-05-22 1264 for_each_possible_cpu(cpu) { 115a1a5285664f Paul E. McKenney 2017-05-22 1265 unsigned long l0, l1; 115a1a5285664f Paul E. McKenney 2017-05-22 1266 unsigned long u0, u1; 115a1a5285664f Paul E. McKenney 2017-05-22 1267 long c0, c1; 5ab07a8df4d6c9 Paul E. McKenney 2018-05-22 1268 struct srcu_data *sdp; 115a1a5285664f Paul E. McKenney 2017-05-22 1269 aacb5d91ab1bfb Paul E. McKenney 2018-10-28 1270 sdp = per_cpu_ptr(ssp->sda, cpu); b68c6146512d92 Paul E. McKenney 2020-01-03 @1271 u0 = data_race(sdp->srcu_unlock_count[!idx]); b68c6146512d92 Paul E. McKenney 2020-01-03 1272 u1 = data_race(sdp->srcu_unlock_count[idx]); 115a1a5285664f Paul E. McKenney 2017-05-22 1273 115a1a5285664f Paul E. McKenney 2017-05-22 1274 /* 115a1a5285664f Paul E. McKenney 2017-05-22 1275 * Make sure that a lock is always counted if the corresponding 115a1a5285664f Paul E. McKenney 2017-05-22 1276 * unlock is counted. 115a1a5285664f Paul E. McKenney 2017-05-22 1277 */ 115a1a5285664f Paul E. McKenney 2017-05-22 1278 smp_rmb(); 115a1a5285664f Paul E. McKenney 2017-05-22 1279 b68c6146512d92 Paul E. McKenney 2020-01-03 1280 l0 = data_race(sdp->srcu_lock_count[!idx]); b68c6146512d92 Paul E. McKenney 2020-01-03 1281 l1 = data_race(sdp->srcu_lock_count[idx]); 115a1a5285664f Paul E. McKenney 2017-05-22 1282 115a1a5285664f Paul E. McKenney 2017-05-22 1283 c0 = l0 - u0; 115a1a5285664f Paul E. McKenney 2017-05-22 1284 c1 = l1 - u1; 7e210a653ec944 Paul E. McKenney 2019-06-28 1285 pr_cont(" %d(%ld,%ld %c)", 7e210a653ec944 Paul E. McKenney 2019-06-28 1286 cpu, c0, c1, 7e210a653ec944 Paul E. McKenney 2019-06-28 1287 "C."[rcu_segcblist_empty(&sdp->srcu_cblist)]); ac3748c6042660 Paul E. McKenney 2017-05-22 1288 s0 += c0; ac3748c6042660 Paul E. McKenney 2017-05-22 1289 s1 += c1; 115a1a5285664f Paul E. McKenney 2017-05-22 1290 } ac3748c6042660 Paul E. McKenney 2017-05-22 1291 pr_cont(" T(%ld,%ld)\n", s0, s1); 115a1a5285664f Paul E. McKenney 2017-05-22 1292 } 115a1a5285664f Paul E. McKenney 2017-05-22 1293 EXPORT_SYMBOL_GPL(srcu_torture_stats_print); 115a1a5285664f Paul E. McKenney 2017-05-22 1294 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org