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

Reply via email to