On Thu, Sep 05, 2024 at 10:21:32AM +0800, Oliver Sang wrote:
> hi, Paul,
>
> On Tue, Sep 03, 2024 at 03:26:43AM -0700, Paul E. McKenney wrote:
> > On Tue, Sep 03, 2024 at 02:49:48PM +0800, kernel test robot wrote:
> > >
> > >
> > > Hello,
> > >
> > > kernel test robot noticed "BUG:using__this_cpu_read()in_preemptible" on:
> > >
> > > commit: 558049054fe90985d650a50b6a757943a9faf646 ("srcu: Add
> > > srcu_read_lock_lite() and srcu_read_unlock_lite()")
> > > https://github.com/paulmckrcu/linux dev.2024.08.30b
> > >
> > > in testcase: boot
> > >
> > > compiler: gcc-12
> > > test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m
> > > 16G
> > >
> > > (please refer to attached dmesg/kmsg for entire log/backtrace)
> > >
> > >
> > > +------------------------------------------+------------+------------+
> > > | | ddf16dbef6 | 558049054f |
> > > +------------------------------------------+------------+------------+
> > > | BUG:using__this_cpu_read()in_preemptible | 0 | 12 |
> > > +------------------------------------------+------------+------------+
> > >
> > >
> > > 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-lkp/[email protected]
> >
> > Good catch, thank you for testing! Does the incremental patch at the
> > end of this email fix this for you?
> >
> > Thanx, Paul
>
> I applied patch directly upon 558049054f, confirmed the issue gone.
Thank you! May I add your Tested-by?
Thanx, Paul
> > commit 01c732e108f6ea51e1660ad6bd59fff36e653ddb
> > Author: Paul E. McKenney <[email protected]>
> > Date: Tue Sep 3 03:25:27 2024 -0700
> >
> > squash! srcu: Add srcu_read_lock_lite() and srcu_read_unlock_lite()
> >
> > [ paulmck: Apply kernel test robot feedback. ]
> >
> > Signed-off-by: Paul E. McKenney <[email protected]>
> >
> > diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
> > index 3133646f0b258..637d366a4dc7b 100644
> > --- a/kernel/rcu/srcutree.c
> > +++ b/kernel/rcu/srcutree.c
> > @@ -1239,7 +1239,7 @@ static bool srcu_should_expedite(struct srcu_struct
> > *ssp)
> >
> > check_init_srcu_struct(ssp);
> > /* If _lite() readers, don't do unsolicited expediting. */
> > - if (__this_cpu_read(ssp->sda->srcu_reader_flavor) &
> > SRCU_READ_FLAVOR_LITE)
> > + if (this_cpu_read(ssp->sda->srcu_reader_flavor) & SRCU_READ_FLAVOR_LITE)
> > return false;
> > /* If the local srcu_data structure has callbacks, not idle. */
> > sdp = raw_cpu_ptr(ssp->sda);