diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched/cpufreq_schedutil.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c index 69571ee6a175..a07f17a5f38f 100644 --- a/kernel/sched/cpufreq_schedutil.c +++ b/kernel/sched/cpufreq_schedutil.c | |||
@@ -84,13 +84,18 @@ static bool sugov_should_update_freq(struct sugov_policy *sg_policy, u64 time) | |||
84 | * | 84 | * |
85 | * However, drivers cannot in general deal with cross-cpu | 85 | * However, drivers cannot in general deal with cross-cpu |
86 | * requests, so while get_next_freq() will work, our | 86 | * requests, so while get_next_freq() will work, our |
87 | * sugov_update_commit() call may not. | 87 | * sugov_update_commit() call may not for the fast switching platforms. |
88 | * | 88 | * |
89 | * Hence stop here for remote requests if they aren't supported | 89 | * Hence stop here for remote requests if they aren't supported |
90 | * by the hardware, as calculating the frequency is pointless if | 90 | * by the hardware, as calculating the frequency is pointless if |
91 | * we cannot in fact act on it. | 91 | * we cannot in fact act on it. |
92 | * | ||
93 | * For the slow switching platforms, the kthread is always scheduled on | ||
94 | * the right set of CPUs and any CPU can find the next frequency and | ||
95 | * schedule the kthread. | ||
92 | */ | 96 | */ |
93 | if (!cpufreq_can_do_remote_dvfs(sg_policy->policy)) | 97 | if (sg_policy->policy->fast_switch_enabled && |
98 | !cpufreq_can_do_remote_dvfs(sg_policy->policy)) | ||
94 | return false; | 99 | return false; |
95 | 100 | ||
96 | if (sg_policy->work_in_progress) | 101 | if (sg_policy->work_in_progress) |