diff options
Diffstat (limited to 'include/linux/smp.h')
| -rw-r--r-- | include/linux/smp.h | 17 | 
1 files changed, 7 insertions, 10 deletions
diff --git a/include/linux/smp.h b/include/linux/smp.h index cfb7ca094b3..34347f26be9 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h @@ -11,12 +11,11 @@  #include <linux/list.h>  #include <linux/cpumask.h>  #include <linux/init.h> - -extern void cpu_idle(void); +#include <linux/llist.h>  typedef void (*smp_call_func_t)(void *info);  struct call_single_data { -	struct list_head list; +	struct llist_node llist;  	smp_call_func_t func;  	void *info;  	u16 flags; @@ -49,6 +48,8 @@ void on_each_cpu_cond(bool (*cond_func)(int cpu, void *info),  		smp_call_func_t func, void *info, bool wait,  		gfp_t gfp_flags); +int smp_call_function_single_async(int cpu, struct call_single_data *csd); +  #ifdef CONFIG_SMP  #include <linux/preempt.h> @@ -95,9 +96,6 @@ int smp_call_function(smp_call_func_t func, void *info, int wait);  void smp_call_function_many(const struct cpumask *mask,  			    smp_call_func_t func, void *info, bool wait); -void __smp_call_function_single(int cpuid, struct call_single_data *data, -				int wait); -  int smp_call_function_any(const struct cpumask *mask,  			  smp_call_func_t func, void *info, int wait); @@ -106,14 +104,10 @@ void kick_all_cpus_sync(void);  /*   * Generic and arch helpers   */ -#ifdef CONFIG_USE_GENERIC_SMP_HELPERS  void __init call_function_init(void);  void generic_smp_call_function_single_interrupt(void);  #define generic_smp_call_function_interrupt \  	generic_smp_call_function_single_interrupt -#else -static inline void call_function_init(void) { } -#endif  /*   * Mark the boot cpu "online" so that it can call console drivers in @@ -188,6 +182,9 @@ static inline void kick_all_cpus_sync(void) {  }   */  extern void arch_disable_smp_support(void); +extern void arch_enable_nonboot_cpus_begin(void); +extern void arch_enable_nonboot_cpus_end(void); +  void smp_setup_processor_id(void);  #endif /* __LINUX_SMP_H */  | 
