diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-09-03 18:05:22 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-09-03 18:05:22 -0400 |
commit | 08a10002bed151f6df201715adb80c1c5e7fe7ca (patch) | |
tree | a9d53ec2b6f5b1921a614f2d4bd70fb6c3a0d42f /kernel/sched/fair.c | |
parent | bd87c8fb9d2e420e5ddffad0cd1abcadfca75dbd (diff) | |
parent | c49cbc19b31e069cb344921c7286d7549767d10e (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.c | 8 |
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 | ||
3279 | static inline void cfs_rq_util_change(struct cfs_rq *cfs_rq) | 3279 | static 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) |