Hi Kunwu,

kernel test robot noticed the following build errors:

[auto build test ERROR on rcu/rcu/dev]
[also build test ERROR on linus/master v7.3-rc2 next-20260909]
[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#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Kunwu-Chan/srcutree-Skip-torture-to-big-transition-for-atomic-SRCU/20260910-121427
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev
patch link:    
https://lore.kernel.org/r/20260910041427.3579817-1-kunwu.chan%40gmail.com
patch subject: [PATCH] srcutree: Skip torture to-big transition for atomic SRCU
config: arm64-allnoconfig 
(https://download.01.org/0day-ci/archive/20260910/[email protected]/config)
compiler: aarch64-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20260910/[email protected]/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 <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   kernel/rcu/srcutree.c: In function 'srcu_torture_stats_print':
>> kernel/rcu/srcutree.c:2080:68: error: 'SRCU_READ_FLAVOR_ATOMIC' undeclared 
>> (first use in this function); did you mean 'SRCU_READ_FLAVOR_NMI'?
    2080 |         if (SRCU_SIZING_IS_TORTURE() && ssp->srcu_reader_flavor != 
SRCU_READ_FLAVOR_ATOMIC)
         |                                                                    
^~~~~~~~~~~~~~~~~~~~~~~
         |                                                                    
SRCU_READ_FLAVOR_NMI
   kernel/rcu/srcutree.c:2080:68: note: each undeclared identifier is reported 
only once for each function it appears in


vim +2080 kernel/rcu/srcutree.c

  2031  
  2032  void srcu_torture_stats_print(struct srcu_struct *ssp, char *tt, char 
*tf)
  2033  {
  2034          int cpu;
  2035          int idx;
  2036          unsigned long s0 = 0, s1 = 0;
  2037          int ss_state = READ_ONCE(ssp->srcu_sup->srcu_size_state);
  2038          int ss_state_idx = ss_state;
  2039  
  2040          idx = ssp->srcu_ctrp - &ssp->sda->srcu_ctrs[0];
  2041          if (ss_state < 0 || ss_state >= 
ARRAY_SIZE(srcu_size_state_name))
  2042                  ss_state_idx = ARRAY_SIZE(srcu_size_state_name) - 1;
  2043          pr_alert("%s%s Tree SRCU g%ld state %d (%s)",
  2044                   tt, tf, rcu_seq_current(&ssp->srcu_sup->srcu_gp_seq), 
ss_state,
  2045                   srcu_size_state_name[ss_state_idx]);
  2046          if (!ssp->sda) {
  2047                  // Called after cleanup_srcu_struct(), perhaps.
  2048                  pr_cont(" No per-CPU srcu_data structures (->sda == 
NULL).\n");
  2049          } else {
  2050                  pr_cont(" per-CPU(idx=%d):", idx);
  2051                  for_each_possible_cpu(cpu) {
  2052                          unsigned long l0, l1;
  2053                          unsigned long u0, u1;
  2054                          long c0, c1;
  2055                          struct srcu_data *sdp;
  2056  
  2057                          sdp = per_cpu_ptr(ssp->sda, cpu);
  2058                          u0 = 
data_race(atomic_long_read(&sdp->srcu_ctrs[!idx].srcu_unlocks));
  2059                          u1 = 
data_race(atomic_long_read(&sdp->srcu_ctrs[idx].srcu_unlocks));
  2060  
  2061                          /*
  2062                           * Make sure that a lock is always counted if 
the corresponding
  2063                           * unlock is counted.
  2064                           */
  2065                          smp_rmb();
  2066  
  2067                          l0 = 
data_race(atomic_long_read(&sdp->srcu_ctrs[!idx].srcu_locks));
  2068                          l1 = 
data_race(atomic_long_read(&sdp->srcu_ctrs[idx].srcu_locks));
  2069  
  2070                          c0 = l0 - u0;
  2071                          c1 = l1 - u1;
  2072                          pr_cont(" %d(%ld,%ld %c)",
  2073                                  cpu, c0, c1,
  2074                                  
"C."[rcu_segcblist_empty(&sdp->srcu_cblist)]);
  2075                          s0 += c0;
  2076                          s1 += c1;
  2077                  }
  2078                  pr_cont(" T(%ld,%ld)\n", s0, s1);
  2079          }
> 2080          if (SRCU_SIZING_IS_TORTURE() && ssp->srcu_reader_flavor != 
> SRCU_READ_FLAVOR_ATOMIC)
  2081                  srcu_transition_to_big(ssp);
  2082  }
  2083  EXPORT_SYMBOL_GPL(srcu_torture_stats_print);
  2084  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to