aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched/fair.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-09-03 18:05:22 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-09-03 18:05:22 -0400
commit08a10002bed151f6df201715adb80c1c5e7fe7ca (patch)
treea9d53ec2b6f5b1921a614f2d4bd70fb6c3a0d42f /kernel/sched/fair.c
parentbd87c8fb9d2e420e5ddffad0cd1abcadfca75dbd (diff)
parentc49cbc19b31e069cb344921c7286d7549767d10e (diff)
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
Diffstat (limited to 'kernel/sched/fair.c')
-rw-r--r--kernel/sched/fair.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index c95880e216f6..d378d02fdfcb 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -3278,7 +3278,9 @@ static inline void set_tg_cfs_propagate(struct cfs_rq *cfs_rq) {}
3278 3278
3279static inline void cfs_rq_util_change(struct cfs_rq *cfs_rq) 3279static inline void cfs_rq_util_change(struct cfs_rq *cfs_rq)
3280{ 3280{
3281 if (&this_rq()->cfs == cfs_rq) { 3281 struct rq *rq = rq_of(cfs_rq);
3282
3283 if (&rq->cfs == cfs_rq) {
3282 /* 3284 /*
3283 * There are a few boundary cases this might miss but it should 3285 * There are a few boundary cases this might miss but it should
3284 * get called often enough that that should (hopefully) not be 3286 * get called often enough that that should (hopefully) not be
@@ -3295,7 +3297,7 @@ static inline void cfs_rq_util_change(struct cfs_rq *cfs_rq)
3295 * 3297 *
3296 * See cpu_util(). 3298 * See cpu_util().
3297 */ 3299 */
3298 cpufreq_update_util(rq_of(cfs_rq), 0); 3300 cpufreq_update_util(rq, 0);
3299 } 3301 }
3300} 3302}
3301 3303
@@ -4875,7 +4877,7 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags)
4875 * passed. 4877 * passed.
4876 */ 4878 */
4877 if (p->in_iowait) 4879 if (p->in_iowait)
4878 cpufreq_update_this_cpu(rq, SCHED_CPUFREQ_IOWAIT); 4880 cpufreq_update_util(rq, SCHED_CPUFREQ_IOWAIT);
4879 4881
4880 for_each_sched_entity(se) { 4882 for_each_sched_entity(se) {
4881 if (se->on_rq) 4883 if (se->on_rq)