[bcain:bcain/hmx 105/114] arch/hexagon/kernel/process.c:76:2: error: call to undeclared function 'flush_smp_call_function_queue'; ISO C99 and later do not support implicit function declarations
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.llvm,dev.linux.lists.oe-kbuild-all |
|---|---|
| Message-ID | <[email protected]> |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/bcain/linux.git bcain/hmx head: d18cfcbc89df32524d340991739f2a7695263a90 commit: a05fde3938d152d5f90a2f9a249590f592950a23 [105/114] hexagon: flush SMP call-function queue before entering idle config: hexagon-randconfig-001-20260810 (https://download.01.org/0day-ci/archive/20260810/[email protected]/config) compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 12df34b8469b8095359de8c249cb1b2753fadeea) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260810/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): >> arch/hexagon/kernel/process.c:76:2: error: call to undeclared function 'flush_smp_call_function_queue'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 76 | flush_smp_call_function_queue(); | ^ 1 error generated. vim +/flush_smp_call_function_queue +76 arch/hexagon/kernel/process.c 55 56 /* 57 * Flush pending SMP call-function work before entering __vmwait(). 58 * 59 * On platforms with high IPI delivery latency (e.g. Hexagon hardware 60 * threads behind a hypervisor under QEMU TCG emulation), the interrupt 61 * from __vmintop_post() can take an extremely long time to wake the 62 * target thread from __vmwait(). During this time, call_single_data_t 63 * objects sit locked on the call_single_queue. Since v5.7 (commit 64 * 5a18ceca6350), smp_call_function_single_async() returns -EBUSY when 65 * it finds a locked CSD instead of spinning, and callers like the 66 * scheduler's NOHZ kick and hrtimer migration silently drop the work. 67 * 68 * By draining the queue here — with IRQs disabled but before the RCU 69 * idle context (ct_cpuidle_enter) — we unlock CSDs while the CPU is 70 * still responsive. This shrinks the -EBUSY window to just the 71 * __vmwait() duration and prevents the cascading stalls that otherwise 72 * hang SMP boot on v5.7+ kernels. 73 */ 74 void arch_cpu_idle_enter(void) 75 { > 76 flush_smp_call_function_queue(); 77 } 78 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki