powerpc/vphn: Fix arch_update_cpu_topology() return value
arch_update_cpu_topology() should only return 1 when the topology has actually changed, and should return 0 otherwise. This patch fixes a potential bug where rebuild_sched_domains() would reinitialize the sched domains even when the topology hasn't changed. Signed-off-by: Jesse Larrew <jlarrew@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
5b716ac728
commit
79c5fcebfe
|
@ -1436,11 +1436,11 @@ static long vphn_get_associativity(unsigned long cpu,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Update the node maps and sysfs entries for each cpu whose home node
|
* Update the node maps and sysfs entries for each cpu whose home node
|
||||||
* has changed.
|
* has changed. Returns 1 when the topology has changed, and 0 otherwise.
|
||||||
*/
|
*/
|
||||||
int arch_update_cpu_topology(void)
|
int arch_update_cpu_topology(void)
|
||||||
{
|
{
|
||||||
int cpu, nid, old_nid;
|
int cpu, nid, old_nid, changed = 0;
|
||||||
unsigned int associativity[VPHN_ASSOC_BUFSIZE] = {0};
|
unsigned int associativity[VPHN_ASSOC_BUFSIZE] = {0};
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
|
|
||||||
|
@ -1466,9 +1466,10 @@ int arch_update_cpu_topology(void)
|
||||||
dev = get_cpu_device(cpu);
|
dev = get_cpu_device(cpu);
|
||||||
if (dev)
|
if (dev)
|
||||||
kobject_uevent(&dev->kobj, KOBJ_CHANGE);
|
kobject_uevent(&dev->kobj, KOBJ_CHANGE);
|
||||||
|
changed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return changed;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void topology_work_fn(struct work_struct *work)
|
static void topology_work_fn(struct work_struct *work)
|
||||||
|
|
Loading…
Reference in New Issue