cris: Use 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> Acked-by: Jesper Nilsson <jesper.nilsson@axis.com> Link: http://lkml.kernel.org/r/20120420124557.789657793@linutronix.de
This commit is contained in:
parent
e80e7813cd
commit
a4cfc31da3
2 changed files with 3 additions and 10 deletions
|
@ -49,6 +49,7 @@ config CRIS
|
||||||
select HAVE_GENERIC_HARDIRQS
|
select HAVE_GENERIC_HARDIRQS
|
||||||
select GENERIC_IRQ_SHOW
|
select GENERIC_IRQ_SHOW
|
||||||
select GENERIC_IOMAP
|
select GENERIC_IOMAP
|
||||||
|
select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32
|
||||||
|
|
||||||
config HZ
|
config HZ
|
||||||
int
|
int
|
||||||
|
|
|
@ -108,17 +108,12 @@ void __init smp_cpus_done(unsigned int max_cpus)
|
||||||
|
|
||||||
/* Bring one cpu online.*/
|
/* Bring one cpu online.*/
|
||||||
static int __init
|
static int __init
|
||||||
smp_boot_one_cpu(int cpuid)
|
smp_boot_one_cpu(int cpuid, struct task_struct idle)
|
||||||
{
|
{
|
||||||
unsigned timeout;
|
unsigned timeout;
|
||||||
struct task_struct *idle;
|
|
||||||
cpumask_t cpu_mask;
|
cpumask_t cpu_mask;
|
||||||
|
|
||||||
cpumask_clear(&cpu_mask);
|
cpumask_clear(&cpu_mask);
|
||||||
idle = fork_idle(cpuid);
|
|
||||||
if (IS_ERR(idle))
|
|
||||||
panic("SMP: fork failed for CPU:%d", cpuid);
|
|
||||||
|
|
||||||
task_thread_info(idle)->cpu = cpuid;
|
task_thread_info(idle)->cpu = cpuid;
|
||||||
|
|
||||||
/* Information to the CPU that is about to boot */
|
/* Information to the CPU that is about to boot */
|
||||||
|
@ -142,9 +137,6 @@ smp_boot_one_cpu(int cpuid)
|
||||||
barrier();
|
barrier();
|
||||||
}
|
}
|
||||||
|
|
||||||
put_task_struct(idle);
|
|
||||||
idle = NULL;
|
|
||||||
|
|
||||||
printk(KERN_CRIT "SMP: CPU:%d is stuck.\n", cpuid);
|
printk(KERN_CRIT "SMP: CPU:%d is stuck.\n", cpuid);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -209,7 +201,7 @@ unsigned long cache_decay_ticks = 1;
|
||||||
|
|
||||||
int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle)
|
int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *tidle)
|
||||||
{
|
{
|
||||||
smp_boot_one_cpu(cpu);
|
smp_boot_one_cpu(cpu, tidle);
|
||||||
return cpu_online(cpu) ? 0 : -ENOSYS;
|
return cpu_online(cpu) ? 0 : -ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue