Messages in this thread | | | Date | Wed, 14 Feb 2024 17:33:56 +0800 | From | kernel test robot <> | Subject | [tip:timers/core 3/3] kernel/time/hrtimer.c:2224:49: error: implicit declaration of function 'housekeeping' is invalid in C99 |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core head: 86342554e102b0d18d50abec43d40f4fc92f1993 commit: 86342554e102b0d18d50abec43d40f4fc92f1993 [3/3] hrtimer: Select housekeeping CPU during migration config: arm-defconfig (https://download.01.org/0day-ci/archive/20240214/202402141742.oYY6J3lC-lkp@intel.com/config) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project.git f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240214/202402141742.oYY6J3lC-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202402141742.oYY6J3lC-lkp@intel.com/
All errors (new ones prefixed by >>):
kernel/time/hrtimer.c:1651:7: warning: variable 'expires_in_hardirq' set but not used [-Wunused-but-set-variable] bool expires_in_hardirq; ^ >> kernel/time/hrtimer.c:2224:49: error: implicit declaration of function 'housekeeping' is invalid in C99 [-Werror,-Wimplicit-function-declaration] int i, ncpu = cpumask_any_and(cpu_active_mask, housekeeping(HK_TYPE_TIMER)); ^ >> kernel/time/hrtimer.c:2224:62: error: use of undeclared identifier 'HK_TYPE_TIMER' int i, ncpu = cpumask_any_and(cpu_active_mask, housekeeping(HK_TYPE_TIMER)); ^ 1 warning and 2 errors generated.
vim +/housekeeping +2224 kernel/time/hrtimer.c
2221 2222 int hrtimers_cpu_dying(unsigned int dying_cpu) 2223 { > 2224 int i, ncpu = cpumask_any_and(cpu_active_mask, housekeeping(HK_TYPE_TIMER)); 2225 struct hrtimer_cpu_base *old_base, *new_base; 2226 2227 tick_cancel_sched_timer(dying_cpu); 2228 2229 old_base = this_cpu_ptr(&hrtimer_bases); 2230 new_base = &per_cpu(hrtimer_bases, ncpu); 2231 2232 /* 2233 * The caller is globally serialized and nobody else 2234 * takes two locks at once, deadlock is not possible. 2235 */ 2236 raw_spin_lock(&old_base->lock); 2237 raw_spin_lock_nested(&new_base->lock, SINGLE_DEPTH_NESTING); 2238 2239 for (i = 0; i < HRTIMER_MAX_CLOCK_BASES; i++) { 2240 migrate_hrtimer_list(&old_base->clock_base[i], 2241 &new_base->clock_base[i]); 2242 } 2243 2244 /* 2245 * The migration might have changed the first expiring softirq 2246 * timer on this CPU. Update it. 2247 */ 2248 __hrtimer_get_next_event(new_base, HRTIMER_ACTIVE_SOFT); 2249 /* Tell the other CPU to retrigger the next event */ 2250 smp_call_function_single(ncpu, retrigger_next_event, NULL, 0); 2251 2252 raw_spin_unlock(&new_base->lock); 2253 raw_spin_unlock(&old_base->lock); 2254 2255 return 0; 2256 } 2257
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
| |