sched/hotplug: Consolidate task migration on CPU unplug
[linux-2.6-block.git] / include / linux / sched / hotplug.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_SCHED_HOTPLUG_H
3 #define _LINUX_SCHED_HOTPLUG_H
4
5 /*
6  * Scheduler interfaces for hotplug CPU support:
7  */
8
9 extern int sched_cpu_starting(unsigned int cpu);
10 extern int sched_cpu_activate(unsigned int cpu);
11 extern int sched_cpu_deactivate(unsigned int cpu);
12
13 #ifdef CONFIG_HOTPLUG_CPU
14 extern int sched_cpu_wait_empty(unsigned int cpu);
15 extern int sched_cpu_dying(unsigned int cpu);
16 #else
17 # define sched_cpu_wait_empty   NULL
18 # define sched_cpu_dying        NULL
19 #endif
20
21 #ifdef CONFIG_HOTPLUG_CPU
22 extern void idle_task_exit(void);
23 #else
24 static inline void idle_task_exit(void) {}
25 #endif
26
27 #endif /* _LINUX_SCHED_HOTPLUG_H */