[rcu:rcu/next 16/16] kernel/irq_work.c:81:3: error: implicit declaration of function 'arch_send_call_function_single_ipi'

From: kbuild test robot
Date: Fri Aug 18 2017 - 15:02:40 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
head: 82dd0c5004dcef5bd7c8af7cac913fb507dd1775
commit: 82dd0c5004dcef5bd7c8af7cac913fb507dd1775 [16/16] irq_work: Map irq_work_on_queue() to irq_work_on() in !SMP
config: i386-tinyconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
git checkout 82dd0c5004dcef5bd7c8af7cac913fb507dd1775
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

kernel/irq_work.c: In function 'irq_work_queue_on':
>> kernel/irq_work.c:81:3: error: implicit declaration of function 'arch_send_call_function_single_ipi' [-Werror=implicit-function-declaration]
arch_send_call_function_single_ipi(cpu);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +/arch_send_call_function_single_ipi +81 kernel/irq_work.c

e360adbe Peter Zijlstra 2010-10-14 58
e360adbe Peter Zijlstra 2010-10-14 59 /*
47885016 Frederic Weisbecker 2014-05-08 60 * Enqueue the irq_work @work on @cpu unless it's already pending
c02cf5f8 anish kumar 2013-02-03 61 * somewhere.
c02cf5f8 anish kumar 2013-02-03 62 *
c02cf5f8 anish kumar 2013-02-03 63 * Can be re-enqueued while the callback is still in progress.
e360adbe Peter Zijlstra 2010-10-14 64 */
47885016 Frederic Weisbecker 2014-05-08 65 bool irq_work_queue_on(struct irq_work *work, int cpu)
47885016 Frederic Weisbecker 2014-05-08 66 {
47885016 Frederic Weisbecker 2014-05-08 67 /* All work should have been flushed before going offline */
47885016 Frederic Weisbecker 2014-05-08 68 WARN_ON_ONCE(cpu_is_offline(cpu));
47885016 Frederic Weisbecker 2014-05-08 69
82dd0c50 Paul E. McKenney 2017-08-18 70 if (!IS_ENABLED(CONFIG_SMP))
82dd0c50 Paul E. McKenney 2017-08-18 71 irq_work_queue(work);
82dd0c50 Paul E. McKenney 2017-08-18 72
47885016 Frederic Weisbecker 2014-05-08 73 /* Arch remote IPI send/receive backend aren't NMI safe */
47885016 Frederic Weisbecker 2014-05-08 74 WARN_ON_ONCE(in_nmi());
47885016 Frederic Weisbecker 2014-05-08 75
47885016 Frederic Weisbecker 2014-05-08 76 /* Only queue if not already pending */
47885016 Frederic Weisbecker 2014-05-08 77 if (!irq_work_claim(work))
47885016 Frederic Weisbecker 2014-05-08 78 return false;
47885016 Frederic Weisbecker 2014-05-08 79
47885016 Frederic Weisbecker 2014-05-08 80 if (llist_add(&work->llnode, &per_cpu(raised_list, cpu)))
47885016 Frederic Weisbecker 2014-05-08 @81 arch_send_call_function_single_ipi(cpu);
47885016 Frederic Weisbecker 2014-05-08 82
47885016 Frederic Weisbecker 2014-05-08 83 return true;
47885016 Frederic Weisbecker 2014-05-08 84 }
47885016 Frederic Weisbecker 2014-05-08 85

:::::: The code at line 81 was first introduced by commit
:::::: 478850160636c4f0b2558451df0e42f8c5a10939 irq_work: Implement remote queueing

:::::: TO: Frederic Weisbecker <fweisbec@xxxxxxxxx>
:::::: CC: Frederic Weisbecker <fweisbec@xxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip