mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-19 21:32:02 +00:00
Merge branch 'pm-cpufreq-sched'
* pm-cpufreq-sched: cpufreq: schedutil: Always process remote callback with slow switching cpufreq: schedutil: Don't restrict kthread to related_cpus unnecessarily cpufreq: Return 0 from ->fast_switch() on errors cpufreq: Simplify cpufreq_can_do_remote_dvfs() cpufreq: Process remote callbacks from any CPU if the platform permits sched: cpufreq: Allow remote cpufreq callbacks cpufreq: schedutil: Use unsigned int for iowait boost cpufreq: schedutil: Make iowait boost more energy efficient
This commit is contained in:
commit
08a10002be
10 changed files with 116 additions and 31 deletions
|
@ -127,6 +127,15 @@ struct cpufreq_policy {
|
|||
*/
|
||||
unsigned int transition_delay_us;
|
||||
|
||||
/*
|
||||
* Remote DVFS flag (Not added to the driver structure as we don't want
|
||||
* to access another structure from scheduler hotpath).
|
||||
*
|
||||
* Should be set if CPUs can do DVFS on behalf of other CPUs from
|
||||
* different cpufreq policies.
|
||||
*/
|
||||
bool dvfs_possible_from_any_cpu;
|
||||
|
||||
/* Cached frequency lookup from cpufreq_driver_resolve_freq. */
|
||||
unsigned int cached_target_freq;
|
||||
int cached_resolved_idx;
|
||||
|
@ -562,6 +571,17 @@ struct governor_attr {
|
|||
size_t count);
|
||||
};
|
||||
|
||||
static inline bool cpufreq_can_do_remote_dvfs(struct cpufreq_policy *policy)
|
||||
{
|
||||
/*
|
||||
* Allow remote callbacks if:
|
||||
* - dvfs_possible_from_any_cpu flag is set
|
||||
* - the local and remote CPUs share cpufreq policy
|
||||
*/
|
||||
return policy->dvfs_possible_from_any_cpu ||
|
||||
cpumask_test_cpu(smp_processor_id(), policy->cpus);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* FREQUENCY TABLE HELPERS *
|
||||
*********************************************************************/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue