Make percpu rcu_data non-static so that it can be mapped into an isolation address space page-table. This will allow address space isolation to use RCU without faulting.
Signed-off-by: Alexandre Chartre <alexandre.char...@oracle.com> --- kernel/rcu/tree.c | 2 +- kernel/rcu/tree.h | 1 + 2 files changed, 2 insertions(+), 1 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 44dd3b4..2827b2b 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -126,7 +126,7 @@ static void rcu_check_gp_start_stall(struct rcu_node *rnp, struct rcu_data *rdp, #define rcu_eqs_special_exit() do { } while (0) #endif -static DEFINE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data) = { +DEFINE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data) = { .dynticks_nesting = 1, .dynticks_nmi_nesting = DYNTICK_IRQ_NONIDLE, .dynticks = ATOMIC_INIT(RCU_DYNTICK_CTRL_CTR), diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h index 9790b58..a043fde 100644 --- a/kernel/rcu/tree.h +++ b/kernel/rcu/tree.h @@ -394,3 +394,4 @@ struct rcu_state { int rcu_dynticks_snap(struct rcu_data *rdp); void call_rcu(struct rcu_head *head, rcu_callback_t func); +DECLARE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data); -- 1.7.1