diff options
Diffstat (limited to 'kernel/smpboot.c')
| -rw-r--r-- | kernel/smpboot.c | 17 | 
1 files changed, 11 insertions, 6 deletions
diff --git a/kernel/smpboot.c b/kernel/smpboot.c index e1a797e028a..98f60c5caa1 100644 --- a/kernel/smpboot.c +++ b/kernel/smpboot.c @@ -31,6 +31,12 @@ void __init idle_thread_set_boot_cpu(void)  	per_cpu(idle_threads, smp_processor_id()) = current;  } +/** + * idle_init - Initialize the idle thread for a cpu + * @cpu:	The cpu for which the idle thread should be initialized + * + * Creates the thread if it does not exist. + */  static inline void idle_init(unsigned int cpu)  {  	struct task_struct *tsk = per_cpu(idle_threads, cpu); @@ -45,17 +51,16 @@ static inline void idle_init(unsigned int cpu)  }  /** - * idle_thread_init - Initialize the idle thread for a cpu - * @cpu:	The cpu for which the idle thread should be initialized - * - * Creates the thread if it does not exist. + * idle_threads_init - Initialize idle threads for all cpus   */  void __init idle_threads_init(void)  { -	unsigned int cpu; +	unsigned int cpu, boot_cpu; + +	boot_cpu = smp_processor_id();  	for_each_possible_cpu(cpu) { -		if (cpu != smp_processor_id()) +		if (cpu != boot_cpu)  			idle_init(cpu);  	}  }  | 
