[rafael-pm:bleeding-edge 172/186] kernel/time/hrtimer.c:946:41: error: call to undeclared function 'tick_nohz_is_active'; ISO C99 and later do not support implicit function declarations
From: kernel test robot <hidden>
Date: 2026-01-24 01:00:39
Also in:
linux-acpi, llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge head: 7e9b0371ed5b9bf9a80c59487f47fca0ba638f61 commit: b0d640cf14148cbce9f1651fe6028c7586291cf5 [172/186] cpufreq: ondemand: Simplify idle cputime granularity test config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20260124/202601240833.jYdOreP4-lkp@intel.com/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260124/202601240833.jYdOreP4-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 [off-list ref] | Closes: https://lore.kernel.org/oe-kbuild-all/202601240833.jYdOreP4-lkp@intel.com/ (local) All errors (new ones prefixed by >>):
quoted
kernel/time/hrtimer.c:946:41: error: call to undeclared function 'tick_nohz_is_active'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
946 | if (!hrtimer_hres_active(cpu_base) && !tick_nohz_is_active())
| ^
1 error generated.
vim +/tick_nohz_is_active +946 kernel/time/hrtimer.c
925
926 /*
927 * Clock was set. This might affect CLOCK_REALTIME, CLOCK_TAI and
928 * CLOCK_BOOTTIME (for late sleep time injection).
929 *
930 * This requires to update the offsets for these clocks
931 * vs. CLOCK_MONOTONIC. When high resolution timers are enabled, then this
932 * also requires to eventually reprogram the per CPU clock event devices
933 * when the change moves an affected timer ahead of the first expiring
934 * timer on that CPU. Obviously remote per CPU clock event devices cannot
935 * be reprogrammed. The other reason why an IPI has to be sent is when the
936 * system is in !HIGH_RES and NOHZ mode. The NOHZ mode updates the offsets
937 * in the tick, which obviously might be stopped, so this has to bring out
938 * the remote CPU which might sleep in idle to get this sorted.
939 */
940 void clock_was_set(unsigned int bases)
941 {
942 struct hrtimer_cpu_base *cpu_base = raw_cpu_ptr(&hrtimer_bases);
943 cpumask_var_t mask;
944 int cpu;
945
> 946 if (!hrtimer_hres_active(cpu_base) && !tick_nohz_is_active())
947 goto out_timerfd;
948
949 if (!zalloc_cpumask_var(&mask, GFP_KERNEL)) {
950 on_each_cpu(retrigger_next_event, NULL, 1);
951 goto out_timerfd;
952 }
953
954 /* Avoid interrupting CPUs if possible */
955 cpus_read_lock();
956 for_each_online_cpu(cpu) {
957 unsigned long flags;
958
959 cpu_base = &per_cpu(hrtimer_bases, cpu);
960 raw_spin_lock_irqsave(&cpu_base->lock, flags);
961
962 if (update_needs_ipi(cpu_base, bases))
963 cpumask_set_cpu(cpu, mask);
964
965 raw_spin_unlock_irqrestore(&cpu_base->lock, flags);
966 }
967
968 preempt_disable();
969 smp_call_function_many(mask, retrigger_next_event, NULL, 1);
970 preempt_enable();
971 cpus_read_unlock();
972 free_cpumask_var(mask);
973
974 out_timerfd:
975 timerfd_clock_was_set();
976 }
977
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki