Commit 4c2374ed authored by Gabriele Monaco's avatar Gabriele Monaco Committed by Thomas Gleixner
Browse files

timers/migration: Use scoped_guard on available flag set/clear



Cleanup tmigr_clear_cpu_available() and tmigr_set_cpu_available() to
prepare for easier checks on the available flag.

Signed-off-by: default avatarGabriele Monaco <gmonaco@redhat.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarFrederic Weisbecker <frederic@kernel.org>
Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://patch.msgid.link/20251120145653.296659-4-gmonaco@redhat.com
parent a048ca5f
Loading
Loading
Loading
Loading
+17 −17
Original line number Diff line number Diff line
@@ -1440,7 +1440,7 @@ static int tmigr_clear_cpu_available(unsigned int cpu)
	u64 firstexp;

	cpumask_clear_cpu(cpu, tmigr_available_cpumask);
	raw_spin_lock_irq(&tmc->lock);
	scoped_guard(raw_spinlock_irq, &tmc->lock) {
		tmc->available = false;
		WRITE_ONCE(tmc->wakeup, KTIME_MAX);

@@ -1450,7 +1450,7 @@ static int tmigr_clear_cpu_available(unsigned int cpu)
		 */
		firstexp = __tmigr_cpu_deactivate(tmc, KTIME_MAX);
		trace_tmigr_cpu_unavailable(tmc);
	raw_spin_unlock_irq(&tmc->lock);
	}

	if (firstexp != KTIME_MAX) {
		migrator = cpumask_any(tmigr_available_cpumask);
@@ -1469,13 +1469,13 @@ static int tmigr_set_cpu_available(unsigned int cpu)
		return -EINVAL;

	cpumask_set_cpu(cpu, tmigr_available_cpumask);
	raw_spin_lock_irq(&tmc->lock);
	scoped_guard(raw_spinlock_irq, &tmc->lock) {
		trace_tmigr_cpu_available(tmc);
		tmc->idle = timer_base_is_idle();
		if (!tmc->idle)
			__tmigr_cpu_activate(tmc);
		tmc->available = true;
	raw_spin_unlock_irq(&tmc->lock);
	}
	return 0;
}