Skip to content

Commit 69aa487

Browse files
Frederic Weisbeckerfbq
Frederic Weisbecker
authored andcommitted
Revert "rcu/nocb: Fix rcuog wake-up from offline softirq"
This reverts commit f7345cc. swake_up_one_online() has been removed because hrtimers can now assign a proper online target to hrtimers queued from offline CPUs. Therefore remove the related hackery. Link: https://lore.kernel.org/all/[email protected]/ Reviewed-by: Usama Arif <[email protected]> Reviewed-by: Joel Fernandes <[email protected]> Signed-off-by: Frederic Weisbecker <[email protected]> Signed-off-by: Joel Fernandes <[email protected]> Signed-off-by: Boqun Feng <[email protected]>
1 parent 1885eb3 commit 69aa487

File tree

1 file changed

+1
-7
lines changed

1 file changed

+1
-7
lines changed

kernel/rcu/tree_nocb.h

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -554,19 +554,13 @@ static void __call_rcu_nocb_wake(struct rcu_data *rdp, bool was_alldone,
554554
rcu_nocb_unlock(rdp);
555555
wake_nocb_gp_defer(rdp, RCU_NOCB_WAKE_LAZY,
556556
TPS("WakeLazy"));
557-
} else if (!irqs_disabled_flags(flags) && cpu_online(rdp->cpu)) {
557+
} else if (!irqs_disabled_flags(flags)) {
558558
/* ... if queue was empty ... */
559559
rcu_nocb_unlock(rdp);
560560
wake_nocb_gp(rdp, false);
561561
trace_rcu_nocb_wake(rcu_state.name, rdp->cpu,
562562
TPS("WakeEmpty"));
563563
} else {
564-
/*
565-
* Don't do the wake-up upfront on fragile paths.
566-
* Also offline CPUs can't call swake_up_one_online() from
567-
* (soft-)IRQs. Rely on the final deferred wake-up from
568-
* rcutree_report_cpu_dead()
569-
*/
570564
rcu_nocb_unlock(rdp);
571565
wake_nocb_gp_defer(rdp, RCU_NOCB_WAKE,
572566
TPS("WakeEmptyIsDeferred"));

0 commit comments

Comments
 (0)