Browse Source

rcu: Select IRQ_WORK from TREE_PREEMPT_RCU

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>
James Hogan 12 years ago
parent
commit
5361471437
1 changed files with 1 additions and 0 deletions
  1. 1 0
      init/Kconfig

+ 1 - 0
init/Kconfig

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