2012-04-20 21:05:44 +08:00
|
|
|
#ifndef SMPBOOT_H
|
|
|
|
#define SMPBOOT_H
|
|
|
|
|
2012-04-20 21:05:45 +08:00
|
|
|
struct task_struct;
|
|
|
|
|
|
|
|
#ifdef CONFIG_GENERIC_SMP_IDLE_THREAD
|
|
|
|
struct task_struct *idle_thread_get(unsigned int cpu);
|
|
|
|
void idle_thread_set_boot_cpu(void);
|
2012-04-21 08:08:50 +08:00
|
|
|
void idle_threads_init(void);
|
2012-04-20 21:05:45 +08:00
|
|
|
#else
|
|
|
|
static inline struct task_struct *idle_thread_get(unsigned int cpu) { return NULL; }
|
|
|
|
static inline void idle_thread_set_boot_cpu(void) { }
|
2012-05-04 18:52:25 +08:00
|
|
|
static inline void idle_threads_init(void) { }
|
2012-04-20 21:05:45 +08:00
|
|
|
#endif
|
|
|
|
|
2012-07-16 18:42:36 +08:00
|
|
|
int smpboot_create_threads(unsigned int cpu);
|
2016-02-27 02:43:36 +08:00
|
|
|
int smpboot_park_threads(unsigned int cpu);
|
|
|
|
int smpboot_unpark_threads(unsigned int cpu);
|
2012-07-16 18:42:36 +08:00
|
|
|
|
2016-02-27 02:43:38 +08:00
|
|
|
void __init cpuhp_threads_init(void);
|
|
|
|
|
2012-04-20 21:05:44 +08:00
|
|
|
#endif
|