[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.