tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 61c01d2e181adfba02fe09764f9fca1de2be0dbe commit: 628ea78b8d1057d4709b38730a1f181e9607ad23 [3246/3984] rcuscale: Print detailed grace-period and barrier diagnostics config: x86_64-randconfig-074-20240809 (https://download.01.org/0day-ci/archive/20240811/202408110343.A2yLpRdP-lkp@xxxxxxxxx/config) compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240811/202408110343.A2yLpRdP-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202408110343.A2yLpRdP-lkp@xxxxxxxxx/ Note: the linux-next/master HEAD 61c01d2e181adfba02fe09764f9fca1de2be0dbe builds fine. It may have been fixed somewhere. All errors (new ones prefixed by >>): >> kernel/rcu/rcuscale.c:303:2: error: call to undeclared function 'rcu_tasks_torture_stats_print'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 303 | rcu_tasks_torture_stats_print(scale_type, SCALE_FLAG); | ^ kernel/rcu/rcuscale.c:303:2: note: did you mean 'srcu_torture_stats_print'? include/linux/srcutree.h:192:6: note: 'srcu_torture_stats_print' declared here 192 | void srcu_torture_stats_print(struct srcu_struct *ssp, char *tt, char *tf); | ^ >> kernel/rcu/rcuscale.c:347:2: error: call to undeclared function 'rcu_tasks_rude_torture_stats_print'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 347 | rcu_tasks_rude_torture_stats_print(scale_type, SCALE_FLAG); | ^ >> kernel/rcu/rcuscale.c:393:2: error: call to undeclared function 'rcu_tasks_trace_torture_stats_print'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 393 | rcu_tasks_trace_torture_stats_print(scale_type, SCALE_FLAG); | ^ 3 errors generated. vim +/rcu_tasks_torture_stats_print +303 kernel/rcu/rcuscale.c 300 301 static void rcu_tasks_scale_stats(void) 302 { > 303 rcu_tasks_torture_stats_print(scale_type, SCALE_FLAG); 304 } 305 306 static struct rcu_scale_ops tasks_ops = { 307 .ptype = RCU_TASKS_FLAVOR, 308 .init = rcu_sync_scale_init, 309 .readlock = tasks_scale_read_lock, 310 .readunlock = tasks_scale_read_unlock, 311 .get_gp_seq = rcu_no_completed, 312 .gp_diff = rcu_seq_diff, 313 .async = call_rcu_tasks, 314 .gp_barrier = rcu_barrier_tasks, 315 .sync = synchronize_rcu_tasks, 316 .exp_sync = synchronize_rcu_tasks, 317 .rso_gp_kthread = get_rcu_tasks_gp_kthread, 318 .stats = IS_ENABLED(CONFIG_TINY_RCU) ? NULL : rcu_tasks_scale_stats, 319 .name = "tasks" 320 }; 321 322 #define TASKS_OPS &tasks_ops, 323 324 #else // #ifdef CONFIG_TASKS_RCU 325 326 #define TASKS_OPS 327 328 #endif // #else // #ifdef CONFIG_TASKS_RCU 329 330 #ifdef CONFIG_TASKS_RUDE_RCU 331 332 /* 333 * Definitions for RCU-tasks-rude scalability testing. 334 */ 335 336 static int tasks_rude_scale_read_lock(void) 337 { 338 return 0; 339 } 340 341 static void tasks_rude_scale_read_unlock(int idx) 342 { 343 } 344 345 static void rcu_tasks_rude_scale_stats(void) 346 { > 347 rcu_tasks_rude_torture_stats_print(scale_type, SCALE_FLAG); 348 } 349 350 static struct rcu_scale_ops tasks_rude_ops = { 351 .ptype = RCU_TASKS_RUDE_FLAVOR, 352 .init = rcu_sync_scale_init, 353 .readlock = tasks_rude_scale_read_lock, 354 .readunlock = tasks_rude_scale_read_unlock, 355 .get_gp_seq = rcu_no_completed, 356 .gp_diff = rcu_seq_diff, 357 .async = call_rcu_tasks_rude, 358 .gp_barrier = rcu_barrier_tasks_rude, 359 .sync = synchronize_rcu_tasks_rude, 360 .exp_sync = synchronize_rcu_tasks_rude, 361 .rso_gp_kthread = get_rcu_tasks_rude_gp_kthread, 362 .stats = IS_ENABLED(CONFIG_TINY_RCU) ? NULL : rcu_tasks_rude_scale_stats, 363 .name = "tasks-rude" 364 }; 365 366 #define TASKS_RUDE_OPS &tasks_rude_ops, 367 368 #else // #ifdef CONFIG_TASKS_RUDE_RCU 369 370 #define TASKS_RUDE_OPS 371 372 #endif // #else // #ifdef CONFIG_TASKS_RUDE_RCU 373 374 #ifdef CONFIG_TASKS_TRACE_RCU 375 376 /* 377 * Definitions for RCU-tasks-trace scalability testing. 378 */ 379 380 static int tasks_trace_scale_read_lock(void) 381 { 382 rcu_read_lock_trace(); 383 return 0; 384 } 385 386 static void tasks_trace_scale_read_unlock(int idx) 387 { 388 rcu_read_unlock_trace(); 389 } 390 391 static void rcu_tasks_trace_scale_stats(void) 392 { > 393 rcu_tasks_trace_torture_stats_print(scale_type, SCALE_FLAG); 394 } 395 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki