Message ID | 20220128085106.27031-1-tangmeng@uniontech.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] kernel/time: move timer sysctls to its own file | expand |
Hi tangmeng, Thank you for the patch! Yet something to improve: [auto build test ERROR on tip/timers/core] [also build test ERROR on linus/master kees/for-next/pstore v5.17-rc1 next-20220128] [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/tangmeng/kernel-time-move-timer-sysctls-to-its-own-file/20220128-165225 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 35e13e9da9afbce13c1d36465504ece4e65f24fe config: arm64-randconfig-r026-20220127 (https://download.01.org/0day-ci/archive/20220129/202201290325.Jyor2i8O-lkp@intel.com/config) compiler: aarch64-linux-gcc (GCC) 11.2.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/0day-ci/linux/commit/8bd44d33085f8ab50523016cbdb0c918dc4b4f3c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review tangmeng/kernel-time-move-timer-sysctls-to-its-own-file/20220128-165225 git checkout 8bd44d33085f8ab50523016cbdb0c918dc4b4f3c # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash kernel/time/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): kernel/time/timer.c: In function 'timer_sysctl_init': >> kernel/time/timer.c:283:9: error: implicit declaration of function 'register_sysctl_init'; did you mean 'timer_sysctl_init'? [-Werror=implicit-function-declaration] 283 | register_sysctl_init("kerneli/timer", timer_sysctl); | ^~~~~~~~~~~~~~~~~~~~ | timer_sysctl_init cc1: some warnings being treated as errors vim +283 kernel/time/timer.c 280 281 static int __init timer_sysctl_init(void) 282 { > 283 register_sysctl_init("kerneli/timer", timer_sysctl); 284 return 0; 285 } 286 #else 287 #define timer_sysctl_init() do { } while (0) 288 #endif 289 static inline bool is_timers_nohz_active(void) 290 { 291 return static_branch_unlikely(&timers_nohz_active); 292 } 293 #else 294 static inline bool is_timers_nohz_active(void) { return false; } 295 #endif /* NO_HZ_COMMON */ 296 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
These complaints are using and assuming and older kernel. Luis On Sat, Jan 29, 2022 at 05:03:38AM +0800, kernel test robot wrote: > Hi tangmeng, > > Thank you for the patch! Yet something to improve: > > [auto build test ERROR on tip/timers/core] > [also build test ERROR on linus/master kees/for-next/pstore v5.17-rc1 next-20220128] > [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/tangmeng/kernel-time-move-timer-sysctls-to-its-own-file/20220128-165225 > base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 35e13e9da9afbce13c1d36465504ece4e65f24fe > config: arm64-randconfig-r026-20220127 (https://download.01.org/0day-ci/archive/20220129/202201290325.Jyor2i8O-lkp@intel.com/config) > compiler: aarch64-linux-gcc (GCC) 11.2.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/0day-ci/linux/commit/8bd44d33085f8ab50523016cbdb0c918dc4b4f3c > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review tangmeng/kernel-time-move-timer-sysctls-to-its-own-file/20220128-165225 > git checkout 8bd44d33085f8ab50523016cbdb0c918dc4b4f3c > # save the config file to linux build tree > mkdir build_dir > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash kernel/time/ > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@intel.com> > > All errors (new ones prefixed by >>): > > kernel/time/timer.c: In function 'timer_sysctl_init': > >> kernel/time/timer.c:283:9: error: implicit declaration of function 'register_sysctl_init'; did you mean 'timer_sysctl_init'? [-Werror=implicit-function-declaration] > 283 | register_sysctl_init("kerneli/timer", timer_sysctl); > | ^~~~~~~~~~~~~~~~~~~~ > | timer_sysctl_init > cc1: some warnings being treated as errors > > > vim +283 kernel/time/timer.c > > 280 > 281 static int __init timer_sysctl_init(void) > 282 { > > 283 register_sysctl_init("kerneli/timer", timer_sysctl); > 284 return 0; > 285 } > 286 #else > 287 #define timer_sysctl_init() do { } while (0) > 288 #endif > 289 static inline bool is_timers_nohz_active(void) > 290 { > 291 return static_branch_unlikely(&timers_nohz_active); > 292 } > 293 #else > 294 static inline bool is_timers_nohz_active(void) { return false; } > 295 #endif /* NO_HZ_COMMON */ > 296 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Hi Luis, Thanks for the feedback, we'll take a look. Best Regards, Rong Chen On 2/2/2022 10:40 AM, Luis Chamberlain wrote: > These complaints are using and assuming and older kernel. > > Luis > > On Sat, Jan 29, 2022 at 05:03:38AM +0800, kernel test robot wrote: >> Hi tangmeng, >> >> Thank you for the patch! Yet something to improve: >> >> [auto build test ERROR on tip/timers/core] >> [also build test ERROR on linus/master kees/for-next/pstore v5.17-rc1 next-20220128] >> [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/tangmeng/kernel-time-move-timer-sysctls-to-its-own-file/20220128-165225 >> base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 35e13e9da9afbce13c1d36465504ece4e65f24fe >> config: arm64-randconfig-r026-20220127 (https://download.01.org/0day-ci/archive/20220129/202201290325.Jyor2i8O-lkp@intel.com/config) >> compiler: aarch64-linux-gcc (GCC) 11.2.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/0day-ci/linux/commit/8bd44d33085f8ab50523016cbdb0c918dc4b4f3c >> git remote add linux-review https://github.com/0day-ci/linux >> git fetch --no-tags linux-review tangmeng/kernel-time-move-timer-sysctls-to-its-own-file/20220128-165225 >> git checkout 8bd44d33085f8ab50523016cbdb0c918dc4b4f3c >> # save the config file to linux build tree >> mkdir build_dir >> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash kernel/time/ >> >> If you fix the issue, kindly add following tag as appropriate >> Reported-by: kernel test robot <lkp@intel.com> >> >> All errors (new ones prefixed by >>): >> >> kernel/time/timer.c: In function 'timer_sysctl_init': >>>> kernel/time/timer.c:283:9: error: implicit declaration of function 'register_sysctl_init'; did you mean 'timer_sysctl_init'? [-Werror=implicit-function-declaration] >> 283 | register_sysctl_init("kerneli/timer", timer_sysctl); >> | ^~~~~~~~~~~~~~~~~~~~ >> | timer_sysctl_init >> cc1: some warnings being treated as errors >> >> >> vim +283 kernel/time/timer.c >> >> 280 >> 281 static int __init timer_sysctl_init(void) >> 282 { >> > 283 register_sysctl_init("kerneli/timer", timer_sysctl); >> 284 return 0; >> 285 } >> 286 #else >> 287 #define timer_sysctl_init() do { } while (0) >> 288 #endif >> 289 static inline bool is_timers_nohz_active(void) >> 290 { >> 291 return static_branch_unlikely(&timers_nohz_active); >> 292 } >> 293 #else >> 294 static inline bool is_timers_nohz_active(void) { return false; } >> 295 #endif /* NO_HZ_COMMON */ >> 296 >> >> --- >> 0-DAY CI Kernel Test Service, Intel Corporation >> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org > _______________________________________________ > kbuild-all mailing list -- kbuild-all@lists.01.org > To unsubscribe send an email to kbuild-all-leave@lists.01.org >
On Mon, Feb 07, 2022 at 02:41:08PM +0800, Chen, Rong A wrote: > Hi Luis, > > Thanks for the feedback, we'll take a look. Sorry for the noise but it could also have been an ifdef is needed when proc sysctl is disabled. In either case tangmeng said he'd look into it. Luis
diff --git a/include/linux/timer.h b/include/linux/timer.h index fda13c9d1256..793b6b7c5a3e 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h @@ -198,10 +198,6 @@ extern enum hrtimer_restart it_real_fn(struct hrtimer *); #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON) struct ctl_table; - -extern unsigned int sysctl_timer_migration; -int timer_migration_handler(struct ctl_table *table, int write, - void *buffer, size_t *lenp, loff_t *ppos); #endif unsigned long __round_jiffies(unsigned long j, int cpu); diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 5ae443b2882e..d6d133423e5d 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -2292,17 +2292,6 @@ static struct ctl_table kern_table[] = { .extra1 = SYSCTL_ZERO, .extra2 = SYSCTL_ONE, }, -#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON) - { - .procname = "timer_migration", - .data = &sysctl_timer_migration, - .maxlen = sizeof(unsigned int), - .mode = 0644, - .proc_handler = timer_migration_handler, - .extra1 = SYSCTL_ZERO, - .extra2 = SYSCTL_ONE, - }, -#endif #ifdef CONFIG_BPF_SYSCALL { .procname = "unprivileged_bpf_disabled", diff --git a/kernel/time/timer.c b/kernel/time/timer.c index 85f1021ad459..ee462673f638 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c @@ -223,7 +223,7 @@ static void timer_update_keys(struct work_struct *work); static DECLARE_WORK(timer_update_work, timer_update_keys); #ifdef CONFIG_SMP -unsigned int sysctl_timer_migration = 1; +static unsigned int sysctl_timer_migration = 1; DEFINE_STATIC_KEY_FALSE(timers_migration_enabled); @@ -251,7 +251,8 @@ void timers_update_nohz(void) schedule_work(&timer_update_work); } -int timer_migration_handler(struct ctl_table *table, int write, +#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON) +static int timer_migration_handler(struct ctl_table *table, int write, void *buffer, size_t *lenp, loff_t *ppos) { int ret; @@ -264,6 +265,27 @@ int timer_migration_handler(struct ctl_table *table, int write, return ret; } +static struct ctl_table timer_sysctl[] = { + { + .procname = "timer_migration", + .data = &sysctl_timer_migration, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = timer_migration_handler, + .extra1 = SYSCTL_ZERO, + .extra2 = SYSCTL_ONE, + }, + {} +}; + +static int __init timer_sysctl_init(void) +{ + register_sysctl_init("kerneli/timer", timer_sysctl); + return 0; +} +#else +#define timer_sysctl_init() do { } while (0) +#endif static inline bool is_timers_nohz_active(void) { return static_branch_unlikely(&timers_nohz_active); @@ -2022,6 +2044,7 @@ void __init init_timers(void) init_timer_cpus(); posix_cputimers_init_work(); open_softirq(TIMER_SOFTIRQ, run_timer_softirq); + timer_sysctl_init(); } /**
This moves the kernel/timer/timer.c respective sysctls to its own file. Signed-off-by: tangmeng <tangmeng@uniontech.com> --- include/linux/timer.h | 4 ---- kernel/sysctl.c | 11 ----------- kernel/time/timer.c | 27 +++++++++++++++++++++++++-- 3 files changed, 25 insertions(+), 17 deletions(-)