Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79c5fceb authored by Jesse Larrew's avatar Jesse Larrew Committed by Benjamin Herrenschmidt
Browse files

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: default avatarJesse Larrew <jlarrew@linux.vnet.ibm.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 5b716ac7
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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
 * has changed.
 * has changed. Returns 1 when the topology has changed, and 0 otherwise.
 */
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};
	struct device *dev;

@@ -1466,9 +1466,10 @@ int arch_update_cpu_topology(void)
		dev = get_cpu_device(cpu);
		if (dev)
			kobject_uevent(&dev->kobj, KOBJ_CHANGE);
		changed = 1;
	}

	return 1;
	return changed;
}

static void topology_work_fn(struct work_struct *work)