From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Zqiang <qiang1.zhang@intel.com>,
paulmck@kernel.org, frederic@kernel.org
Cc: lkp@intel.com, kbuild-all@lists.01.org, rcu@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] rcu: Dump all rcuc kthreads status for CPUs that not report quiescent state
Date: Mon, 25 Apr 2022 16:23:55 +0300 [thread overview]
Message-ID: <202204241503.imwh5SqZ-lkp@intel.com> (raw)
In-Reply-To: <20220424041747.3172671-1-qiang1.zhang@intel.com>
Hi Zqiang,
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
config: i386-randconfig-m021 (https://download.01.org/0day-ci/archive/20220424/202204241503.imwh5SqZ-lkp@intel.com/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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
kernel/rcu/tree_stall.h:467 print_cpu_stall_info() error: uninitialized symbol 'j'.
vim +/j +467 kernel/rcu/tree_stall.h
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);
That tree has some new returns in rcu_is_rcuc_kthread_starving() where
*jp is not set.
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 }
--
0-DAY CI Kernel Test Service
https://01.org/lkp
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v3] rcu: Dump all rcuc kthreads status for CPUs that not report quiescent state
Date: Sun, 24 Apr 2022 16:05:15 +0800 [thread overview]
Message-ID: <202204241503.imwh5SqZ-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 6303 bytes --]
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
In-Reply-To: <20220424041747.3172671-1-qiang1.zhang@intel.com>
References: <20220424041747.3172671-1-qiang1.zhang@intel.com>
TO: Zqiang <qiang1.zhang@intel.com>
TO: paulmck(a)kernel.org
TO: frederic(a)kernel.org
CC: rcu(a)vger.kernel.org
CC: linux-kernel(a)vger.kernel.org
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/202204241503.imwh5SqZ-lkp(a)intel.com/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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
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
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v3] rcu: Dump all rcuc kthreads status for CPUs that not report quiescent state
Date: Mon, 25 Apr 2022 16:23:55 +0300 [thread overview]
Message-ID: <202204241503.imwh5SqZ-lkp@intel.com> (raw)
In-Reply-To: <20220424041747.3172671-1-qiang1.zhang@intel.com>
[-- Attachment #1: Type: text/plain, Size: 4552 bytes --]
Hi Zqiang,
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
config: i386-randconfig-m021 (https://download.01.org/0day-ci/archive/20220424/202204241503.imwh5SqZ-lkp(a)intel.com/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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
kernel/rcu/tree_stall.h:467 print_cpu_stall_info() error: uninitialized symbol 'j'.
vim +/j +467 kernel/rcu/tree_stall.h
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);
That tree has some new returns in rcu_is_rcuc_kthread_starving() where
*jp is not set.
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 }
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next parent reply other threads:[~2022-04-25 13:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-24 8:05 kernel test robot [this message]
2022-04-25 13:23 ` [PATCH v3] rcu: Dump all rcuc kthreads status for CPUs that not report quiescent state Dan Carpenter
2022-04-25 13:23 ` Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2022-04-24 4:17 Zqiang
2022-04-24 16:06 ` Paul E. McKenney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202204241503.imwh5SqZ-lkp@intel.com \
--to=dan.carpenter@oracle.com \
--cc=frederic@kernel.org \
--cc=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=paulmck@kernel.org \
--cc=qiang1.zhang@intel.com \
--cc=rcu@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.