x86: make x86_64 accept the max_cpus parameter
The parameter passing parsing is done in the common smpboot.c Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
69c18c15d3
commit
89b08200ad
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
/* Have we found an MP table */
|
/* Have we found an MP table */
|
||||||
int smp_found_config;
|
int smp_found_config;
|
||||||
|
unsigned int __cpuinitdata maxcpus = NR_CPUS;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Various Linux-internal data structures created from the
|
* Various Linux-internal data structures created from the
|
||||||
|
@ -115,6 +116,12 @@ static void __cpuinit MP_processor_info(struct mpc_config_processor *m)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (num_processors >= maxcpus) {
|
||||||
|
printk(KERN_WARNING "WARNING: maxcpus limit of %i reached."
|
||||||
|
" Processor ignored.\n", maxcpus);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
num_processors++;
|
num_processors++;
|
||||||
cpus_complement(tmp_map, cpu_present_map);
|
cpus_complement(tmp_map, cpu_present_map);
|
||||||
cpu = first_cpu(tmp_map);
|
cpu = first_cpu(tmp_map);
|
||||||
|
|
|
@ -268,3 +268,15 @@ void __cpu_die(unsigned int cpu)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the BIOS enumerates physical processors before logical,
|
||||||
|
* maxcpus=N at enumeration-time can be used to disable HT.
|
||||||
|
*/
|
||||||
|
static int __init parse_maxcpus(char *arg)
|
||||||
|
{
|
||||||
|
extern unsigned int maxcpus;
|
||||||
|
|
||||||
|
maxcpus = simple_strtoul(arg, NULL, 0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
early_param("maxcpus", parse_maxcpus);
|
||||||
|
|
|
@ -1113,16 +1113,3 @@ void __init smp_intr_init(void)
|
||||||
/* IPI for generic function call */
|
/* IPI for generic function call */
|
||||||
set_intr_gate(CALL_FUNCTION_VECTOR, call_function_interrupt);
|
set_intr_gate(CALL_FUNCTION_VECTOR, call_function_interrupt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* If the BIOS enumerates physical processors before logical,
|
|
||||||
* maxcpus=N at enumeration-time can be used to disable HT.
|
|
||||||
*/
|
|
||||||
static int __init parse_maxcpus(char *arg)
|
|
||||||
{
|
|
||||||
extern unsigned int maxcpus;
|
|
||||||
|
|
||||||
maxcpus = simple_strtoul(arg, NULL, 0);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
early_param("maxcpus", parse_maxcpus);
|
|
||||||
|
|
Loading…
Reference in New Issue