Commit 2b1a61f0 authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky

[S390] cpu topology: introduce kernel parameter

Introduce a topology=[on|off] kernel parameter which allows to switch
cpu topology on/off. Default will be off, since it looks like that for
some workloards this doesn't behave very well (on s390).
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 9fee8db2
......@@ -2252,6 +2252,14 @@ and is between 256 and 4096 characters. It is defined in the file
See comment before function dc390_setup() in
drivers/scsi/tmscsim.c.
topology= [S390]
Format: {off | on}
Specify if the kernel should make use of the cpu
topology informations if the hardware supports these.
The scheduler will make use of these informations and
e.g. base its process migration decisions on it.
Default is off.
tp720= [HW,PS2]
trix= [HW,OSS] MediaTrix AudioTrix Pro
......
......@@ -58,6 +58,7 @@ struct core_info {
cpumask_t mask;
};
static int topology_enabled;
static void topology_work_fn(struct work_struct *work);
static struct tl_info *tl_info;
static struct core_info core_info;
......@@ -78,7 +79,7 @@ cpumask_t cpu_coregroup_map(unsigned int cpu)
cpumask_t mask;
cpus_clear(mask);
if (!machine_has_topology)
if (!topology_enabled || !machine_has_topology)
return cpu_possible_map;
spin_lock_irqsave(&topology_lock, flags);
while (core) {
......@@ -263,6 +264,15 @@ static void topology_interrupt(__u16 code)
schedule_work(&topology_work);
}
static int __init early_parse_topology(char *p)
{
if (strncmp(p, "on", 2))
return 0;
topology_enabled = 1;
return 0;
}
early_param("topology", early_parse_topology);
static int __init init_topology_update(void)
{
int rc;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment