Hi Zqiang, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on paulmck-rcu/dev] [also build test WARNING on next-20230209] [cannot apply to linus/master v6.2-rc7] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Zqiang/rcu-Keeping-rcu-related-kthreads-running-on-housekeeping-CPUS/20230209-182311 base: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev patch link: https://lore.kernel.org/r/20230209102730.974465-1-qiang1.zhang%40intel.com patch subject: [PATCH v2] rcu: Keeping rcu-related kthreads running on housekeeping CPUS config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230209/202302092354.9PFOG9CE-lkp@xxxxxxxxx/config) compiler: m68k-linux-gcc (GCC) 12.1.0 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 # https://github.com/intel-lab-lkp/linux/commit/af15a3ade363b21d823918088623f8564cbd9d08 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Zqiang/rcu-Keeping-rcu-related-kthreads-running-on-housekeeping-CPUS/20230209-182311 git checkout af15a3ade363b21d823918088623f8564cbd9d08 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash kernel/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202302092354.9PFOG9CE-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): In file included from kernel/torture.c:40: >> kernel/rcu/rcu.h:602:6: warning: no previous prototype for 'rcu_kthread_setaffinity' [-Wmissing-prototypes] 602 | void rcu_kthread_setaffinity(struct task_struct *tsk, int outgoing) { } | ^~~~~~~~~~~~~~~~~~~~~~~ -- In file included from kernel/rcu/update.c:49: >> kernel/rcu/rcu.h:602:6: warning: no previous prototype for 'rcu_kthread_setaffinity' [-Wmissing-prototypes] 602 | void rcu_kthread_setaffinity(struct task_struct *tsk, int outgoing) { } | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from kernel/rcu/update.c:649: >> kernel/rcu/tasks.h:1970:6: warning: no previous prototype for 'rcu_tasks_generic_setaffinity' [-Wmissing-prototypes] 1970 | void rcu_tasks_generic_setaffinity(int cpu) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/rcu_kthread_setaffinity +602 kernel/rcu/rcu.h 588 589 #ifdef CONFIG_TINY_RCU 590 static inline bool rcu_dynticks_zero_in_eqs(int cpu, int *vp) { return false; } 591 static inline unsigned long rcu_get_gp_seq(void) { return 0; } 592 static inline unsigned long rcu_exp_batches_completed(void) { return 0; } 593 static inline unsigned long 594 srcu_batches_completed(struct srcu_struct *sp) { return 0; } 595 static inline void rcu_force_quiescent_state(void) { } 596 static inline bool rcu_check_boost_fail(unsigned long gp_state, int *cpup) { return true; } 597 static inline void show_rcu_gp_kthreads(void) { } 598 static inline int rcu_get_gp_kthreads_prio(void) { return 0; } 599 static inline void rcu_fwd_progress_check(unsigned long j) { } 600 static inline void rcu_gp_slow_register(atomic_t *rgssp) { } 601 static inline void rcu_gp_slow_unregister(atomic_t *rgssp) { } > 602 void rcu_kthread_setaffinity(struct task_struct *tsk, int outgoing) { } 603 #else /* #ifdef CONFIG_TINY_RCU */ 604 bool rcu_dynticks_zero_in_eqs(int cpu, int *vp); 605 unsigned long rcu_get_gp_seq(void); 606 unsigned long rcu_exp_batches_completed(void); 607 unsigned long srcu_batches_completed(struct srcu_struct *sp); 608 bool rcu_check_boost_fail(unsigned long gp_state, int *cpup); 609 void show_rcu_gp_kthreads(void); 610 int rcu_get_gp_kthreads_prio(void); 611 void rcu_fwd_progress_check(unsigned long j); 612 void rcu_force_quiescent_state(void); 613 void rcu_kthread_setaffinity(struct task_struct *tsk, int outgoing); 614 extern struct workqueue_struct *rcu_gp_wq; 615 #ifdef CONFIG_RCU_EXP_KTHREAD 616 extern struct kthread_worker *rcu_exp_gp_kworker; 617 extern struct kthread_worker *rcu_exp_par_gp_kworker; 618 #else /* !CONFIG_RCU_EXP_KTHREAD */ 619 extern struct workqueue_struct *rcu_par_gp_wq; 620 #endif /* CONFIG_RCU_EXP_KTHREAD */ 621 void rcu_gp_slow_register(atomic_t *rgssp); 622 void rcu_gp_slow_unregister(atomic_t *rgssp); 623 #endif /* #else #ifdef CONFIG_TINY_RCU */ 624 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests