CC: [email protected] BCC: [email protected] In-Reply-To: <[email protected]> References: <[email protected]> TO: Zqiang <[email protected]> TO: [email protected] TO: [email protected] CC: [email protected] CC: [email protected]
Hi Zqiang, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on paulmck-rcu/dev] [also build test WARNING on v5.18-rc3 next-20220422] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/intel-lab-lkp/linux/commits/Zqiang/rcu-Dump-all-rcuc-kthreads-status-for-CPUs-that-not-report-quiescent-state/20220424-121850 base: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev :::::: branch date: 4 hours ago :::::: commit date: 4 hours ago config: i386-randconfig-m021 (https://download.01.org/0day-ci/archive/20220424/[email protected]/config) compiler: gcc-11 (Debian 11.2.0-20) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: kernel/rcu/tree_stall.h:467 print_cpu_stall_info() error: uninitialized symbol 'j'. vim +/j +467 kernel/rcu/tree_stall.h c9515875850fef Zqiang 2022-01-25 428 59b73a27681c58 Paul E. McKenney 2019-01-11 429 /* 59b73a27681c58 Paul E. McKenney 2019-01-11 430 * Print out diagnostic information for the specified stalled CPU. 59b73a27681c58 Paul E. McKenney 2019-01-11 431 * 59b73a27681c58 Paul E. McKenney 2019-01-11 432 * If the specified CPU is aware of the current RCU grace period, then 59b73a27681c58 Paul E. McKenney 2019-01-11 433 * print the number of scheduling clock interrupts the CPU has taken 59b73a27681c58 Paul E. McKenney 2019-01-11 434 * during the time that it has been aware. Otherwise, print the number 59b73a27681c58 Paul E. McKenney 2019-01-11 435 * of RCU grace periods that this CPU is ignorant of, for example, "1" 59b73a27681c58 Paul E. McKenney 2019-01-11 436 * if the CPU was aware of the previous grace period. 59b73a27681c58 Paul E. McKenney 2019-01-11 437 * e2c73a6860bdf5 Paul E. McKenney 2021-09-27 438 * Also print out idle info. 59b73a27681c58 Paul E. McKenney 2019-01-11 439 */ 59b73a27681c58 Paul E. McKenney 2019-01-11 440 static void print_cpu_stall_info(int cpu) 59b73a27681c58 Paul E. McKenney 2019-01-11 441 { 59b73a27681c58 Paul E. McKenney 2019-01-11 442 unsigned long delta; 88375825171c7d Paul E. McKenney 2020-03-31 443 bool falsepositive; 59b73a27681c58 Paul E. McKenney 2019-01-11 444 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu); 59b73a27681c58 Paul E. McKenney 2019-01-11 445 char *ticks_title; 59b73a27681c58 Paul E. McKenney 2019-01-11 446 unsigned long ticks_value; 17d9de741a1aaf Zqiang 2022-04-24 447 bool rcuc_starved; 17d9de741a1aaf Zqiang 2022-04-24 448 unsigned long j; 59b73a27681c58 Paul E. McKenney 2019-01-11 449 59b73a27681c58 Paul E. McKenney 2019-01-11 450 /* 59b73a27681c58 Paul E. McKenney 2019-01-11 451 * We could be printing a lot while holding a spinlock. Avoid 59b73a27681c58 Paul E. McKenney 2019-01-11 452 * triggering hard lockup. 59b73a27681c58 Paul E. McKenney 2019-01-11 453 */ 59b73a27681c58 Paul E. McKenney 2019-01-11 454 touch_nmi_watchdog(); 59b73a27681c58 Paul E. McKenney 2019-01-11 455 59b73a27681c58 Paul E. McKenney 2019-01-11 456 ticks_value = rcu_seq_ctr(rcu_state.gp_seq - rdp->gp_seq); 59b73a27681c58 Paul E. McKenney 2019-01-11 457 if (ticks_value) { 59b73a27681c58 Paul E. McKenney 2019-01-11 458 ticks_title = "GPs behind"; 59b73a27681c58 Paul E. McKenney 2019-01-11 459 } else { 59b73a27681c58 Paul E. McKenney 2019-01-11 460 ticks_title = "ticks this GP"; 59b73a27681c58 Paul E. McKenney 2019-01-11 461 ticks_value = rdp->ticks_this_gp; 59b73a27681c58 Paul E. McKenney 2019-01-11 462 } 59b73a27681c58 Paul E. McKenney 2019-01-11 463 delta = rcu_seq_ctr(rdp->mynode->gp_seq - rdp->rcu_iw_gp_seq); 88375825171c7d Paul E. McKenney 2020-03-31 464 falsepositive = rcu_is_gp_kthread_starving(NULL) && 88375825171c7d Paul E. McKenney 2020-03-31 465 rcu_dynticks_in_eqs(rcu_dynticks_snap(rdp)); 17d9de741a1aaf Zqiang 2022-04-24 466 rcuc_starved = rcu_is_rcuc_kthread_starving(rdp, &j); 17d9de741a1aaf Zqiang 2022-04-24 @467 pr_err("\t%d-%c%c%c%c: (%lu %s) idle=%03x/%ld/%#lx softirq=%u/%u fqs=%ld rcuc=%ld jiffies(%s) %s\n", 59b73a27681c58 Paul E. McKenney 2019-01-11 468 cpu, 59b73a27681c58 Paul E. McKenney 2019-01-11 469 "O."[!!cpu_online(cpu)], 59b73a27681c58 Paul E. McKenney 2019-01-11 470 "o."[!!(rdp->grpmask & rdp->mynode->qsmaskinit)], 59b73a27681c58 Paul E. McKenney 2019-01-11 471 "N."[!!(rdp->grpmask & rdp->mynode->qsmaskinitnext)], 59b73a27681c58 Paul E. McKenney 2019-01-11 472 !IS_ENABLED(CONFIG_IRQ_WORK) ? '?' : 59b73a27681c58 Paul E. McKenney 2019-01-11 473 rdp->rcu_iw_pending ? (int)min(delta, 9UL) + '0' : 59b73a27681c58 Paul E. McKenney 2019-01-11 474 "!."[!delta], 59b73a27681c58 Paul E. McKenney 2019-01-11 475 ticks_value, ticks_title, 59b73a27681c58 Paul E. McKenney 2019-01-11 476 rcu_dynticks_snap(rdp) & 0xfff, 59b73a27681c58 Paul E. McKenney 2019-01-11 477 rdp->dynticks_nesting, rdp->dynticks_nmi_nesting, 59b73a27681c58 Paul E. McKenney 2019-01-11 478 rdp->softirq_snap, kstat_softirqs_cpu(RCU_SOFTIRQ, cpu), 88375825171c7d Paul E. McKenney 2020-03-31 479 data_race(rcu_state.n_force_qs) - rcu_state.n_force_qs_gpstart, 17d9de741a1aaf Zqiang 2022-04-24 480 j, rcuc_starved ? "starved" : "", 88375825171c7d Paul E. McKenney 2020-03-31 481 falsepositive ? " (false positive?)" : ""); 59b73a27681c58 Paul E. McKenney 2019-01-11 482 } 59b73a27681c58 Paul E. McKenney 2019-01-11 483 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
