diff options
| author | Joonwoo Park <joonwoop@codeaurora.org> | 2017-01-25 17:07:19 -0800 |
|---|---|---|
| committer | Joonwoo Park <joonwoop@codeaurora.org> | 2017-09-01 17:23:40 -0700 |
| commit | f94958ffa75d4f18d6d6838629d71edee41103c5 (patch) | |
| tree | 94c25d6abcf38b3de90872740286999476ab44f0 /kernel | |
| parent | c8b8c92bbc8954ae18cba7eb0c1f3a06a244129c (diff) | |
cpufreq: sched: WALT: don't apply capacity margin twice
With WALT all the scheduler classes' load are accounted in scr->cfs and
update_cpu_capacity_request() adds capacity margin. At present, at tick
path, scheduler also adds capacity margin. Therefore the margin applied
twice.
Fix such error by using margin applied cpu utilization only for checking
whether frequency increase is needed.
Change-Id: Id7d8cc73b2e4eec70b274ca66e09bb0b16bf6f09
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
(trivial rebase conflict)
Signed-off-by: Chris Redpath <chris.redpath@arm.com>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched/core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 4f97de8e0b18..0b14b4634b8c 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2999,13 +2999,13 @@ static void sched_freq_tick_walt(int cpu) return sched_freq_tick_pelt(cpu); /* - * Add a margin to the WALT utilization. + * Add a margin to the WALT utilization to check if we will need to + * increase frequency. * NOTE: WALT tracks a single CPU signal for all the scheduling * classes, thus this margin is going to be added to the DL class as * well, which is something we do not do in sched_freq_tick_pelt case. */ - cpu_utilization = add_capacity_margin(cpu_utilization); - if (cpu_utilization <= capacity_curr) + if (add_capacity_margin(cpu_utilization) <= capacity_curr) return; /* |
