On Thu, Sep 10, 2026 at 10:34:21PM +0800, kernel test robot wrote:
> 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]
Indeed, this patch would need to be applied to the "dev" branch of my
-rcu tree.
Thanx, Paul
> 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: s390-allnoconfig
> (https://download.01.org/0day-ci/archive/20260910/[email protected]/config)
> compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project
> d3db069999553568848400c84cbf815c03f5470f)
> 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:2080:61: error: use of undeclared identifier
> >> 'SRCU_READ_FLAVOR_ATOMIC'
> 2080 | if (SRCU_SIZING_IS_TORTURE() && ssp->srcu_reader_flavor !=
> SRCU_READ_FLAVOR_ATOMIC)
> |
> ^~~~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
>
>
> vim +/SRCU_READ_FLAVOR_ATOMIC +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