tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git 
dev.2018.10.03a
head:   ef44a26c84188888f97e5d7b3f8e4f8c0decd248
commit: 813f47a94e3b61439bba90340b532f3a6319d4f5 [44/73] rcu: Print per-CPU 
callback counts for forward-progress failures
config: x86_64-randconfig-x006-10081527 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        git checkout 813f47a94e3b61439bba90340b532f3a6319d4f5
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   kernel/rcu/tree.c: In function 'rcu_fwd_progress_check':
>> kernel/rcu/tree.c:2704:5: warning: 'max_cpu' may be used uninitialized in 
>> this function [-Wmaybe-uninitialized]
     if (max_cpu >= 0)
        ^
>> kernel/rcu/tree.c:2699:6: warning: 'max_cbs' may be used uninitialized in 
>> this function [-Wmaybe-uninitialized]
      if (cbs <= max_cbs)
         ^

vim +/max_cpu +2704 kernel/rcu/tree.c

  2670  
  2671  /*
  2672   * Do a forward-progress check for rcutorture.  This is normally invoked
  2673   * due to an OOM event.  The argument "j" gives the time period during
  2674   * which rcutorture would like progress to have been made.
  2675   */
  2676  void rcu_fwd_progress_check(unsigned long j)
  2677  {
  2678          unsigned long cbs;
  2679          int cpu;
  2680          unsigned long max_cbs;
  2681          int max_cpu;
  2682          struct rcu_data *rdp;
  2683  
  2684          if (rcu_gp_in_progress()) {
  2685                  show_rcu_gp_kthreads();
  2686          } else {
  2687                  preempt_disable();
  2688                  rdp = this_cpu_ptr(&rcu_data);
  2689                  rcu_check_gp_start_stall(rdp->mynode, rdp, j);
  2690                  preempt_enable();
  2691          }
  2692          for_each_possible_cpu(cpu) {
  2693                  cbs = rcu_get_n_cbs_cpu(cpu);
  2694                  if (!cbs)
  2695                          continue;
  2696                  if (max_cpu < 0)
  2697                          pr_info("%s: callbacks", __func__);
  2698                  pr_cont(" %d: %lu", cpu, cbs);
> 2699                  if (cbs <= max_cbs)
  2700                          continue;
  2701                  max_cbs = cbs;
  2702                  max_cpu = cpu;
  2703          }
> 2704          if (max_cpu >= 0)
  2705                  pr_cont("\n");
  2706  }
  2707  EXPORT_SYMBOL_GPL(rcu_fwd_progress_check);
  2708  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to