On Sun, Aug 11, 2024 at 03:55:37AM +0800, kernel test robot wrote: > 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. > Thanks for reporting this! I have fixed the order of below 2 commits here [1] cb4b877e9d5f rcu/tasks: Add detailed grace-period and barrier diagnostics d9562675f501 rcuscale: Print detailed grace-period and barrier diagnostics [1] https://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git/log/?h=next - Neeraj > 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