x86: Add task_struct argument to smp_ops.cpu_up
Preparatory patch to use the generic idle thread allocation. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Cc: x86@kernel.org Link: http://lkml.kernel.org/r/20120420124557.176604405@linutronix.de
This commit is contained in:
parent
29d5e0476e
commit
5cdaf1834f
3 changed files with 7 additions and 7 deletions
|
@ -72,7 +72,7 @@ struct smp_ops {
|
||||||
void (*stop_other_cpus)(int wait);
|
void (*stop_other_cpus)(int wait);
|
||||||
void (*smp_send_reschedule)(int cpu);
|
void (*smp_send_reschedule)(int cpu);
|
||||||
|
|
||||||
int (*cpu_up)(unsigned cpu);
|
int (*cpu_up)(unsigned cpu, struct task_struct *tidle);
|
||||||
int (*cpu_disable)(void);
|
int (*cpu_disable)(void);
|
||||||
void (*cpu_die)(unsigned int cpu);
|
void (*cpu_die)(unsigned int cpu);
|
||||||
void (*play_dead)(void);
|
void (*play_dead)(void);
|
||||||
|
@ -117,7 +117,7 @@ static inline void smp_cpus_done(unsigned int max_cpus)
|
||||||
|
|
||||||
static inline int __cpu_up(unsigned int cpu, struct task_struct *tidle)
|
static inline int __cpu_up(unsigned int cpu, struct task_struct *tidle)
|
||||||
{
|
{
|
||||||
return smp_ops.cpu_up(cpu);
|
return smp_ops.cpu_up(cpu, tidle);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int __cpu_disable(void)
|
static inline int __cpu_disable(void)
|
||||||
|
@ -154,7 +154,7 @@ void cpu_disable_common(void);
|
||||||
void native_smp_prepare_boot_cpu(void);
|
void native_smp_prepare_boot_cpu(void);
|
||||||
void native_smp_prepare_cpus(unsigned int max_cpus);
|
void native_smp_prepare_cpus(unsigned int max_cpus);
|
||||||
void native_smp_cpus_done(unsigned int max_cpus);
|
void native_smp_cpus_done(unsigned int max_cpus);
|
||||||
int native_cpu_up(unsigned int cpunum);
|
int native_cpu_up(unsigned int cpunum, struct task_struct *tidle);
|
||||||
int native_cpu_disable(void);
|
int native_cpu_disable(void);
|
||||||
void native_cpu_die(unsigned int cpu);
|
void native_cpu_die(unsigned int cpu);
|
||||||
void native_play_dead(void);
|
void native_play_dead(void);
|
||||||
|
|
|
@ -818,7 +818,7 @@ do_rest:
|
||||||
return boot_error;
|
return boot_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
int __cpuinit native_cpu_up(unsigned int cpu)
|
int __cpuinit native_cpu_up(unsigned int cpu, struct task_struct *tidle)
|
||||||
{
|
{
|
||||||
int apicid = apic->cpu_present_to_apicid(cpu);
|
int apicid = apic->cpu_present_to_apicid(cpu);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
|
@ -331,7 +331,7 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __cpuinit xen_cpu_up(unsigned int cpu)
|
static int __cpuinit xen_cpu_up(unsigned int cpu, struct task_struct *tidle)
|
||||||
{
|
{
|
||||||
struct task_struct *idle = idle_task(cpu);
|
struct task_struct *idle = idle_task(cpu);
|
||||||
int rc;
|
int rc;
|
||||||
|
@ -547,10 +547,10 @@ static void __init xen_hvm_smp_prepare_cpus(unsigned int max_cpus)
|
||||||
xen_init_lock_cpu(0);
|
xen_init_lock_cpu(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __cpuinit xen_hvm_cpu_up(unsigned int cpu)
|
static int __cpuinit xen_hvm_cpu_up(unsigned int cpu, struct task_struct *tidle)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
rc = native_cpu_up(cpu);
|
rc = native_cpu_up(cpu, tidle);
|
||||||
WARN_ON (xen_smp_intr_init(cpu));
|
WARN_ON (xen_smp_intr_init(cpu));
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue