mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
[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: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
9fee8db222
commit
2b1a61f0a8
2 changed files with 19 additions and 1 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue