diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 5aefd36ac648ac6f3f977381b405fddeadab8098..139fa1f5c5378e22933f50d7c1406f05926ce2d9 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -1585,7 +1585,7 @@ static bool rcu_future_gp_cleanup(struct rcu_node *rnp) static void rcu_gp_kthread_wake(void) { if ((current == rcu_state.gp_kthread && - !in_interrupt() && !in_serving_softirq()) || + !in_irq() && !in_serving_softirq()) || !READ_ONCE(rcu_state.gp_flags) || !rcu_state.gp_kthread) return;