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

Commit a3f8a97e authored by Puja Gupta's avatar Puja Gupta
Browse files

sched/walt: Fix SCHED_CPUFREQ_CONTINUE for hotplug cases



cluster->cpus might include hotplugged cores and as a result we would
end up sending incorrect flag to cpufreq. Fix the bug by checking
cpu_online_mask.

Change-Id: I39fa9296aac72604c91470a8ffe0a5b9efbaac1f
Signed-off-by: default avatarPuja Gupta <pujag@codeaurora.org>
parent 4cec0cd6
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -3083,9 +3083,14 @@ void walt_irq_work(struct irq_work *irq_work)
	}

	for_each_sched_cluster(cluster) {
		unsigned int num_cpus = cpumask_weight(&cluster->cpus), i = 1;
		cpumask_t cluster_online_cpus;
		unsigned int num_cpus, i = 1;

		for_each_cpu(cpu, &cluster->cpus) {
		cpumask_and(&cluster_online_cpus, &cluster->cpus,
						cpu_online_mask);
		num_cpus = cpumask_weight(&cluster_online_cpus);

		for_each_cpu(cpu, &cluster_online_cpus) {
			if (i == num_cpus)
				cpufreq_update_util(cpu_rq(cpu), flag);
			else