RCU: undefined reference to irq_work_queue

From: Hyeonggon Yoo
Date: Thu Mar 17 2022 - 07:33:04 EST


Hello RCU folks,

I like to use minimal configuration for kernel development.
when building with tinyconfig + CONFIG_PREEMPT=y on arm64:

ld: kernel/rcu/update.o: in function `call_rcu_tasks':
update.c:(.text+0xb2c): undefined reference to `irq_work_queue'
update.c:(.text+0xb2c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `irq_work_queue'
make: *** [Makefile:1155: vmlinux] Error 1

It seems RCU calls irq_work_queue() without checking if CONFIG_IRQ_WORK is enabled.

--
Thank you, You are awesome!
Hyeonggon :-)