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

Commit 5f51cb4c authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "cpufreq: interactive: Report CPU loads through govinfo notifier"

parents 87626a37 26c2460b
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -400,6 +400,7 @@ static void cpufreq_interactive_timer(unsigned long data)
	unsigned int index;
	unsigned long flags;
	bool boosted;
	struct cpufreq_govinfo int_info;

	if (!down_read_trylock(&pcpu->enable_sem))
		return;
@@ -438,8 +439,15 @@ static void cpufreq_interactive_timer(unsigned long data)
		do_div(cputime_speedadj, delta_time);
	}

	spin_lock_irqsave(&pcpu->target_freq_lock, flags);
	loadadjfreq = (unsigned int)cputime_speedadj * 100;

	int_info.cpu = data;
	int_info.load = loadadjfreq / pcpu->policy->max;
	int_info.sampling_rate_us = tunables->timer_rate;
	atomic_notifier_call_chain(&cpufreq_govinfo_notifier_list,
					CPUFREQ_LOAD_CHANGE, &int_info);

	spin_lock_irqsave(&pcpu->target_freq_lock, flags);
	cpu_load = loadadjfreq / pcpu->policy->cur;
	boosted = tunables->boost_val || now < tunables->boostpulse_endtime;