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]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
