mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
cpu/hotplug: Remove cpu_report_state() and related unused cruft
No more users. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Tested-by: Michael Kelley <mikelley@microsoft.com> Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> Tested-by: Helge Deller <deller@gmx.de> # parisc Tested-by: Guilherme G. Piccoli <gpiccoli@igalia.com> # Steam Deck Link: https://lore.kernel.org/r/20230512205256.582584351@linutronix.de
This commit is contained in:
parent
2711b8e2b7
commit
5356297d12
@ -184,8 +184,6 @@ void arch_cpu_idle_enter(void);
|
||||
void arch_cpu_idle_exit(void);
|
||||
void __noreturn arch_cpu_idle_dead(void);
|
||||
|
||||
int cpu_report_state(int cpu);
|
||||
int cpu_check_up_prepare(int cpu);
|
||||
void cpu_set_state_online(int cpu);
|
||||
void play_idle_precise(u64 duration_ns, u64 latency_ns);
|
||||
|
||||
|
@ -329,97 +329,7 @@ EXPORT_SYMBOL_GPL(smpboot_unregister_percpu_thread);
|
||||
#ifndef CONFIG_HOTPLUG_CORE_SYNC
|
||||
static DEFINE_PER_CPU(atomic_t, cpu_hotplug_state) = ATOMIC_INIT(CPU_POST_DEAD);
|
||||
|
||||
/*
|
||||
* Called to poll specified CPU's state, for example, when waiting for
|
||||
* a CPU to come online.
|
||||
*/
|
||||
int cpu_report_state(int cpu)
|
||||
{
|
||||
return atomic_read(&per_cpu(cpu_hotplug_state, cpu));
|
||||
}
|
||||
|
||||
/*
|
||||
* If CPU has died properly, set its state to CPU_UP_PREPARE and
|
||||
* return success. Otherwise, return -EBUSY if the CPU died after
|
||||
* cpu_wait_death() timed out. And yet otherwise again, return -EAGAIN
|
||||
* if cpu_wait_death() timed out and the CPU still hasn't gotten around
|
||||
* to dying. In the latter two cases, the CPU might not be set up
|
||||
* properly, but it is up to the arch-specific code to decide.
|
||||
* Finally, -EIO indicates an unanticipated problem.
|
||||
*
|
||||
* Note that it is permissible to omit this call entirely, as is
|
||||
* done in architectures that do no CPU-hotplug error checking.
|
||||
*/
|
||||
int cpu_check_up_prepare(int cpu)
|
||||
{
|
||||
if (!IS_ENABLED(CONFIG_HOTPLUG_CPU)) {
|
||||
atomic_set(&per_cpu(cpu_hotplug_state, cpu), CPU_UP_PREPARE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (atomic_read(&per_cpu(cpu_hotplug_state, cpu))) {
|
||||
|
||||
case CPU_POST_DEAD:
|
||||
|
||||
/* The CPU died properly, so just start it up again. */
|
||||
atomic_set(&per_cpu(cpu_hotplug_state, cpu), CPU_UP_PREPARE);
|
||||
return 0;
|
||||
|
||||
case CPU_DEAD_FROZEN:
|
||||
|
||||
/*
|
||||
* Timeout during CPU death, so let caller know.
|
||||
* The outgoing CPU completed its processing, but after
|
||||
* cpu_wait_death() timed out and reported the error. The
|
||||
* caller is free to proceed, in which case the state
|
||||
* will be reset properly by cpu_set_state_online().
|
||||
* Proceeding despite this -EBUSY return makes sense
|
||||
* for systems where the outgoing CPUs take themselves
|
||||
* offline, with no post-death manipulation required from
|
||||
* a surviving CPU.
|
||||
*/
|
||||
return -EBUSY;
|
||||
|
||||
case CPU_BROKEN:
|
||||
|
||||
/*
|
||||
* The most likely reason we got here is that there was
|
||||
* a timeout during CPU death, and the outgoing CPU never
|
||||
* did complete its processing. This could happen on
|
||||
* a virtualized system if the outgoing VCPU gets preempted
|
||||
* for more than five seconds, and the user attempts to
|
||||
* immediately online that same CPU. Trying again later
|
||||
* might return -EBUSY above, hence -EAGAIN.
|
||||
*/
|
||||
return -EAGAIN;
|
||||
|
||||
case CPU_UP_PREPARE:
|
||||
/*
|
||||
* Timeout while waiting for the CPU to show up. Allow to try
|
||||
* again later.
|
||||
*/
|
||||
return 0;
|
||||
|
||||
default:
|
||||
|
||||
/* Should not happen. Famous last words. */
|
||||
return -EIO;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Mark the specified CPU online.
|
||||
*
|
||||
* Note that it is permissible to omit this call entirely, as is
|
||||
* done in architectures that do no CPU-hotplug error checking.
|
||||
*/
|
||||
void cpu_set_state_online(int cpu)
|
||||
{
|
||||
(void)atomic_xchg(&per_cpu(cpu_hotplug_state, cpu), CPU_ONLINE);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
|
||||
/*
|
||||
* Wait for the specified CPU to exit the idle loop and die.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user