Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cbcb2fc9 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "hrtimer: fix issue during core isolation"

parents 65411a1b 61d1f2eb
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -2073,12 +2073,6 @@ static void __migrate_hrtimers(unsigned int scpu, bool remove_pinned)
	unsigned long flags;
	int i;

	/*
	 * this BH disable ensures that raise_softirq_irqoff() does
	 * not wakeup ksoftirqd (and acquire the pi-lock) while
	 * holding the cpu_base lock
	 */
	local_bh_disable();
	local_irq_save(flags);
	old_base = &per_cpu(hrtimer_bases, scpu);
	new_base = this_cpu_ptr(&hrtimer_bases);
@@ -2106,7 +2100,6 @@ static void __migrate_hrtimers(unsigned int scpu, bool remove_pinned)
	/* Check, if we got expired work to do */
	__hrtimer_peek_ahead_timers();
	local_irq_restore(flags);
	local_bh_enable();
}

int hrtimers_dead_cpu(unsigned int scpu)
@@ -2114,7 +2107,14 @@ int hrtimers_dead_cpu(unsigned int scpu)
	BUG_ON(cpu_online(scpu));
	tick_cancel_sched_timer(scpu);

	/*
	 * this BH disable ensures that raise_softirq_irqoff() does
	 * not wakeup ksoftirqd (and acquire the pi-lock) while
	 * holding the cpu_base lock
	 */
	local_bh_disable();
	__migrate_hrtimers(scpu, true);
	local_bh_enable();
	return 0;
}