sched: let arch_update_cpu_topology indicate if topology changed

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 <heiko.carstens@de.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Heiko Carstens 2008-12-09 18:49:50 +01:00 committed by Ingo Molnar
parent c1dfdc7597
commit ee79d1bdb6
3 changed files with 11 additions and 4 deletions

View file

@ -212,7 +212,7 @@ static void update_cpu_core_map(void)
cpu_core_map[cpu] = cpu_coregroup_map(cpu); 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 tl_info *info = tl_info;
struct sys_device *sysdev; struct sys_device *sysdev;
@ -221,7 +221,7 @@ void arch_update_cpu_topology(void)
if (!machine_has_topology) { if (!machine_has_topology) {
update_cpu_core_map(); update_cpu_core_map();
topology_update_polarization_simple(); topology_update_polarization_simple();
return; return 0;
} }
stsi(info, 15, 1, 2); stsi(info, 15, 1, 2);
tl_to_cores(info); tl_to_cores(info);
@ -230,6 +230,7 @@ void arch_update_cpu_topology(void)
sysdev = get_cpu_sysdev(cpu); sysdev = get_cpu_sysdev(cpu);
kobject_uevent(&sysdev->kobj, KOBJ_CHANGE); kobject_uevent(&sysdev->kobj, KOBJ_CHANGE);
} }
return 1;
} }
static void topology_work_fn(struct work_struct *work) static void topology_work_fn(struct work_struct *work)

View file

@ -49,7 +49,7 @@
for_each_online_node(node) \ for_each_online_node(node) \
if (nr_cpus_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 */ /* Conform to ACPI 2.0 SLIT distance definitions */
#define LOCAL_DISTANCE 10 #define LOCAL_DISTANCE 10

View file

@ -7675,8 +7675,14 @@ static struct sched_domain_attr *dattr_cur;
*/ */
static cpumask_t fallback_doms; 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;
} }
/* /*