All of lore.kernel.org
 help / color / mirror / Atom feed
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

       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.