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.

> 
> 
> 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);

Reply via email to