On Wed, Sep 03, 2025 at 10:03:48AM +0800, Oliver Sang wrote: > hi, Paul, > On Fri, Aug 29, 2025 at 10:23:17AM -0700, Paul E. McKenney wrote: > > [...] > > > Again, apologies for being slow, and thank you for your testing efforts. > > > > Idiot here forgot about Tiny SRCU, so please see the end of this email > > for an alleged fix. Does it do the trick for you? > > besides the patch [1] as in the end part of mail, we noticed you also have a > patch in [2]. I don't have enough knowledge to follow the dicussion between > you and Zqiang well. it just seems to me both patches are fixes which should > be squashed into original patch? > > I made below applyment: > > * e5ab29c09c470e squash! rcu: Re-implement RCU Tasks Trace in terms of > SRCU-fast <--- patch in [2] > * f717bca99dfb15 1st fix patch for 8bd9383727 from Paul <--- patch in [1] > * 8bd9383727068a rcu: Re-implement RCU Tasks Trace in terms of SRCU-fast > > by testing, the issue "WARNING:possible_circular_locking_dependency_detected" > cannot be reproduced on both f717bca99dfb15 and e5ab29c09c470e > > sorry if I miss or misunderstood something, otherwise,
You got it exactly! The updated commit is this one: a9e63382cbfa ("rcu: Re-implement RCU Tasks Trace in terms of SRCU-fast") > Tested-by: kernel test robot <oliver.s...@intel.com> I will apply on my next rebase, and thank you for your testing efforts! Thanx, Paul > > > 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 <oliver.s...@intel.com> > > > | Closes: > > > https://lore.kernel.org/oe-lkp/202508261642.b15eefbb-...@intel.com > > [...] > > > > The kernel config and materials to reproduce are available at: > > > https://download.01.org/0day-ci/archive/20250826/202508261642.b15eefbb-...@intel.com > > > -- > > > 0-DAY CI Kernel Test Service > > > https://github.com/intel/lkp-tests/wiki > > > > [1] > > > ------------------------------------------------------------------------ > > > > diff --git a/kernel/rcu/srcutiny.c b/kernel/rcu/srcutiny.c > > index 6e9fe2ce1075d5..db63378f062051 100644 > > --- a/kernel/rcu/srcutiny.c > > +++ b/kernel/rcu/srcutiny.c > > @@ -106,7 +106,7 @@ void __srcu_read_unlock(struct srcu_struct *ssp, int > > idx) > > newval = READ_ONCE(ssp->srcu_lock_nesting[idx]) - 1; > > WRITE_ONCE(ssp->srcu_lock_nesting[idx], newval); > > preempt_enable(); > > - if (!newval && READ_ONCE(ssp->srcu_gp_waiting) && in_task()) > > + if (!newval && READ_ONCE(ssp->srcu_gp_waiting) && in_task() && > > !irqs_disabled()) > > swake_up_one(&ssp->srcu_wq); > > } > > EXPORT_SYMBOL_GPL(__srcu_read_unlock); > > > > [2] > https://lore.kernel.org/all/8f43f958-e3e6-44d5-9600-9e096c3a06b7@paulmck-laptop/