CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Frederic Weisbecker <[email protected]>

Hi Frederic,

I love your patch! Perhaps something to improve:

[auto build test WARNING on rcu/rcu/next]
[also build test WARNING on linus/master linux/master v5.9 next-20201023]
[cannot apply to rcu/dev]
[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]

url:    
https://github.com/0day-ci/linux/commits/Frederic-Weisbecker/rcu-nocb-De-offload-and-re-offload-support-v3/20201023-225141
base:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git 
rcu/next
:::::: branch date: 17 hours ago
:::::: commit date: 17 hours ago
config: x86_64-randconfig-m001-20201022 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
kernel/rcu/tree_plugin.h:2346 __rcu_nocb_rdp_deoffload() error: double locked 
'rdp->nocb_lock' (orig line 2331)

vim +2346 kernel/rcu/tree_plugin.h

300d16f8983ddae Frederic Weisbecker 2020-10-23  2322  
300d16f8983ddae Frederic Weisbecker 2020-10-23  2323  static int 
__rcu_nocb_rdp_deoffload(struct rcu_data *rdp)
300d16f8983ddae Frederic Weisbecker 2020-10-23  2324  {
300d16f8983ddae Frederic Weisbecker 2020-10-23  2325    struct rcu_segcblist 
*cblist = &rdp->cblist;
300d16f8983ddae Frederic Weisbecker 2020-10-23  2326    unsigned long flags;
300d16f8983ddae Frederic Weisbecker 2020-10-23  2327    int ret;
300d16f8983ddae Frederic Weisbecker 2020-10-23  2328  
300d16f8983ddae Frederic Weisbecker 2020-10-23  2329    printk("De-offloading 
%d\n", rdp->cpu);
300d16f8983ddae Frederic Weisbecker 2020-10-23  2330  
300d16f8983ddae Frederic Weisbecker 2020-10-23 @2331    
rcu_nocb_lock_irqsave(rdp, flags);
300d16f8983ddae Frederic Weisbecker 2020-10-23  2332    /*
300d16f8983ddae Frederic Weisbecker 2020-10-23  2333     * If there are still 
pending work offloaded, the offline
300d16f8983ddae Frederic Weisbecker 2020-10-23  2334     * CPU won't help much 
handling them.
300d16f8983ddae Frederic Weisbecker 2020-10-23  2335     */
300d16f8983ddae Frederic Weisbecker 2020-10-23  2336    if 
(cpu_is_offline(rdp->cpu) && !rcu_segcblist_empty(&rdp->cblist)) {
300d16f8983ddae Frederic Weisbecker 2020-10-23  2337            
rcu_nocb_unlock_irqrestore(rdp, flags);
300d16f8983ddae Frederic Weisbecker 2020-10-23  2338            return -EBUSY;
300d16f8983ddae Frederic Weisbecker 2020-10-23  2339    }
300d16f8983ddae Frederic Weisbecker 2020-10-23  2340  
300d16f8983ddae Frederic Weisbecker 2020-10-23  2341    ret = 
rdp_offload_toggle(rdp, false, flags);
c0e5a01d6376324 Frederic Weisbecker 2020-10-23  2342    
swait_event_exclusive(rdp->nocb_state_wq,
c0e5a01d6376324 Frederic Weisbecker 2020-10-23  2343                          
!rcu_segcblist_test_flags(cblist, SEGCBLIST_KTHREAD_CB |
c0e5a01d6376324 Frederic Weisbecker 2020-10-23  2344                            
                        SEGCBLIST_KTHREAD_GP));
d16825b53f7bb29 Frederic Weisbecker 2020-10-23  2345    /* Make sure nocb timer 
won't stay around */
d16825b53f7bb29 Frederic Weisbecker 2020-10-23 @2346    
rcu_nocb_lock_irqsave(rdp, flags);
d16825b53f7bb29 Frederic Weisbecker 2020-10-23  2347    
WRITE_ONCE(rdp->nocb_defer_wakeup, RCU_NOCB_WAKE_OFF);
d16825b53f7bb29 Frederic Weisbecker 2020-10-23  2348    
rcu_nocb_unlock_irqrestore(rdp, flags);
d16825b53f7bb29 Frederic Weisbecker 2020-10-23  2349    
del_timer_sync(&rdp->nocb_timer);
d16825b53f7bb29 Frederic Weisbecker 2020-10-23  2350  
300d16f8983ddae Frederic Weisbecker 2020-10-23  2351    return ret;
59c271e6ebf08a3 Frederic Weisbecker 2020-10-23  2352  }
59c271e6ebf08a3 Frederic Weisbecker 2020-10-23  2353  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to