Hi Frederic, I love your patch! Yet something to improve: [auto build test ERROR on rcu/dev] [also build test ERROR on rcu/rcu/next next-20201113] [cannot apply to tip/timers/core linus/master linux/master v5.10-rc3] [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-v4/20201113-201658 base: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev config: arm-randconfig-r013-20201113 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 9e0c35655b6e8186baef8840b26ba4090503b554) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/0day-ci/linux/commit/4c0d56c4bf8ec775e46d5e895080a2df42e306d8 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Frederic-Weisbecker/rcu-nocb-De-offload-and-re-offload-support-v4/20201113-201658 git checkout 4c0d56c4bf8ec775e46d5e895080a2df42e306d8 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from kernel/rcu/tree.c:4591: >> kernel/rcu/tree_plugin.h:71:40: error: implicit declaration of function 'lockdep_is_cpus_held' [-Werror,-Wimplicit-function-declaration] (IS_ENABLED(CONFIG_HOTPLUG_CPU) && lockdep_is_cpus_held()) || ^ kernel/rcu/tree_plugin.h:71:40: note: did you mean 'lockdep_assert_cpus_held'? include/linux/cpu.h:136:20: note: 'lockdep_assert_cpus_held' declared here static inline void lockdep_assert_cpus_held(void) { } ^ 1 error generated. vim +/lockdep_is_cpus_held +71 kernel/rcu/tree_plugin.h 57 58 static bool rcu_rdp_is_offloaded(struct rcu_data *rdp) 59 { 60 /* 61 * In order to read the offloaded state of an rdp is a safe 62 * and stable way and prevent from its value to be changed 63 * under us, we must either hold the barrier mutex, the cpu 64 * hotplug lock (read or write) or the nocb lock. Local 65 * non-preemptible reads are also safe. NOCB kthreads and 66 * timers have their own means of synchronization against the 67 * offloaded state updaters. 68 */ 69 RCU_LOCKDEP_WARN( 70 !(lockdep_is_held(&rcu_state.barrier_mutex) || > 71 (IS_ENABLED(CONFIG_HOTPLUG_CPU) && lockdep_is_cpus_held()) || 72 rcu_lockdep_is_held_nocb(rdp) || 73 (rdp == this_cpu_ptr(&rcu_data) && 74 !(IS_ENABLED(CONFIG_PREEMPT_COUNT) && preemptible())) || 75 rcu_current_is_nocb_kthread(rdp) || 76 rcu_running_nocb_timer(rdp)), 77 "Unsafe read of RCU_NOCB offloaded state" 78 ); 79 80 return rcu_segcblist_is_offloaded(&rdp->cblist); 81 } 82 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org