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

Commit 5cccbcfc authored by Neil Leeder's avatar Neil Leeder
Browse files

perf: replace cpu_up/down with device_online/offline



The cpu_up/down calls do not update userspace cpu
online information accurately. Use the device_on/offline
API to correct this.

Change-Id: I97ab55f4f917bd9cbb31dd89785eecdbe4d2f9ca
Signed-off-by: default avatarNeil Leeder <nleeder@codeaurora.org>
parent 122fe9b1
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -1915,7 +1915,9 @@ static __ref void reset_pmu_force(void)
	for_each_possible_cpu(cpu) {
	for_each_possible_cpu(cpu) {
		if (!cpu_online(cpu)) {
		if (!cpu_online(cpu)) {
			save_online_mask |= BIT(cpu);
			save_online_mask |= BIT(cpu);
			ret = cpu_up(cpu);
			lock_device_hotplug();
			ret = device_online(get_cpu_device(cpu));
			unlock_device_hotplug();
			if (ret)
			if (ret)
				pr_err("Failed to bring up CPU: %d, ret: %d\n",
				pr_err("Failed to bring up CPU: %d, ret: %d\n",
				       cpu, ret);
				       cpu, ret);
@@ -1927,7 +1929,9 @@ static __ref void reset_pmu_force(void)
		armpmu_release_hardware(cpu_pmu);
		armpmu_release_hardware(cpu_pmu);
	for_each_possible_cpu(cpu) {
	for_each_possible_cpu(cpu) {
		if ((save_online_mask & BIT(cpu)) && cpu_online(cpu)) {
		if ((save_online_mask & BIT(cpu)) && cpu_online(cpu)) {
			ret = cpu_down(cpu);
			lock_device_hotplug();
			ret = device_offline(get_cpu_device(cpu));
			unlock_device_hotplug();
			if (ret)
			if (ret)
				pr_err("Failed to bring down CPU: %d, ret: %d\n",
				pr_err("Failed to bring down CPU: %d, ret: %d\n",
						cpu, ret);
						cpu, ret);