Skip to content

Commit

Permalink
sched: let arch_update_cpu_topology indicate if topology changed
Browse files Browse the repository at this point in the history
Change arch_update_cpu_topology so it returns 1 if the cpu topology changed
and 0 if it didn't change. This will be useful for the next patch which adds
a call to this function in partition_sched_domains.

Signed-off-by: Heiko Carstens <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
heicarst authored and Ingo Molnar committed Dec 12, 2008
1 parent c1dfdc7 commit ee79d1b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
5 changes: 3 additions & 2 deletions arch/s390/kernel/topology.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ static void update_cpu_core_map(void)
cpu_core_map[cpu] = cpu_coregroup_map(cpu);
}

void arch_update_cpu_topology(void)
int arch_update_cpu_topology(void)
{
struct tl_info *info = tl_info;
struct sys_device *sysdev;
Expand All @@ -221,7 +221,7 @@ void arch_update_cpu_topology(void)
if (!machine_has_topology) {
update_cpu_core_map();
topology_update_polarization_simple();
return;
return 0;
}
stsi(info, 15, 1, 2);
tl_to_cores(info);
Expand All @@ -230,6 +230,7 @@ void arch_update_cpu_topology(void)
sysdev = get_cpu_sysdev(cpu);
kobject_uevent(&sysdev->kobj, KOBJ_CHANGE);
}
return 1;
}

static void topology_work_fn(struct work_struct *work)
Expand Down
2 changes: 1 addition & 1 deletion include/linux/topology.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
for_each_online_node(node) \
if (nr_cpus_node(node))

void arch_update_cpu_topology(void);
int arch_update_cpu_topology(void);

/* Conform to ACPI 2.0 SLIT distance definitions */
#define LOCAL_DISTANCE 10
Expand Down
8 changes: 7 additions & 1 deletion kernel/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -7675,8 +7675,14 @@ static struct sched_domain_attr *dattr_cur;
*/
static cpumask_t fallback_doms;

void __attribute__((weak)) arch_update_cpu_topology(void)
/*
* arch_update_cpu_topology lets virtualized architectures update the
* cpu core maps. It is supposed to return 1 if the topology changed
* or 0 if it stayed the same.
*/
int __attribute__((weak)) arch_update_cpu_topology(void)
{
return 0;
}

/*
Expand Down

0 comments on commit ee79d1b

Please sign in to comment.