rcu: Select IRQ_WORK from TREE_PREEMPT_RCU
authorJames Hogan <james.hogan@imgtec.com>
Thu, 25 Jul 2013 14:34:25 +0000 (15:34 +0100)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 19 Aug 2013 00:40:25 +0000 (17:40 -0700)
TREE_RCU and TREE_PREEMPT_RCU both cause kernel/rcutree.c to be built,
but only TREE_RCU selects IRQ_WORK, which can result in an undefined
reference to irq_work_queue for some (random) configs:

kernel/built-in.o In function `rcu_start_gp_advanced':
kernel/rcutree.c:1564: undefined reference to `irq_work_queue'

Select IRQ_WORK from TREE_PREEMPT_RCU too to fix this.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
init/Kconfig

index 247084be059030162838199c953ebac6409f7e01..c08a5495dbb7486609466a433ffa90f144eb99a4 100644 (file)
@@ -470,6 +470,7 @@ config TREE_RCU
 config TREE_PREEMPT_RCU
        bool "Preemptible tree-based hierarchical RCU"
        depends on PREEMPT
+       select IRQ_WORK
        help
          This option selects the RCU implementation that is
          designed for very large SMP systems with hundreds or