From: Steve Muckle <steve.muckle@linaro.org>
To: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
"Rafael J. Wysocki" <rafael@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
Vincent Guittot <vincent.guittot@linaro.org>,
Morten Rasmussen <morten.rasmussen@arm.com>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Juri Lelli <Juri.Lelli@arm.com>,
Patrick Bellasi <patrick.bellasi@arm.com>,
Michael Turquette <mturquette@baylibre.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
Len Brown <lenb@kernel.org>
Subject: [PATCH 5/5] cpufreq: schedutil: do not update rate limit ts when freq is unchanged
Date: Mon, 9 May 2016 14:20:14 -0700 [thread overview]
Message-ID: <1462828814-32530-6-git-send-email-smuckle@linaro.org> (raw)
In-Reply-To: <1462828814-32530-1-git-send-email-smuckle@linaro.org>
The rate limit timestamp (last_freq_update_time) is currently advanced
anytime schedutil re-evaluates the policy regardless of whether the CPU
frequency is changed or not. This means that utilization updates which
have no effect can cause much more significant utilization updates
(which require a large increase or decrease in CPU frequency) to be
delayed due to rate limiting.
Instead only update the rate limiting timstamp when the requested
target-supported frequency changes. The rate limit will now apply to
the rate of CPU frequency changes rather than the rate of
re-evaluations of the policy frequency.
Signed-off-by: Steve Muckle <smuckle@linaro.org>
---
kernel/sched/cpufreq_schedutil.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index e185075fcb5c..4d2907c8a142 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -117,12 +117,11 @@ static void sugov_update_commit(struct sugov_cpu *sg_cpu, int cpu, u64 time,
struct sugov_policy *sg_policy = sg_cpu->sg_policy;
struct cpufreq_policy *policy = sg_policy->policy;
- sg_policy->last_freq_update_time = time;
-
if (sg_policy->next_freq == next_freq) {
trace_cpu_frequency(policy->cur, cpu);
return;
}
+ sg_policy->last_freq_update_time = time;
sg_policy->next_freq = next_freq;
if (sugov_queue_remote_callback(sg_policy, cpu))
--
2.4.10
next prev parent reply other threads:[~2016-05-09 21:20 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-09 21:20 [PATCH 0/5] cpufreq: schedutil: improve latency of response Steve Muckle
2016-05-09 21:20 ` [PATCH 1/5] sched: cpufreq: add cpu to update_util_data Steve Muckle
2016-05-18 23:13 ` Rafael J. Wysocki
2016-05-09 21:20 ` [PATCH 2/5] cpufreq: schedutil: support scheduler cpufreq callbacks on remote CPUs Steve Muckle
2016-05-18 23:24 ` Rafael J. Wysocki
2016-05-19 18:40 ` Steve Muckle
2016-05-19 20:55 ` Rafael J. Wysocki
2016-05-19 22:59 ` Steve Muckle
2016-05-19 23:14 ` Rafael J. Wysocki
2016-05-09 21:20 ` [PATCH 3/5] sched: cpufreq: call cpufreq hook from " Steve Muckle
2016-05-18 23:33 ` Rafael J. Wysocki
2016-05-19 12:00 ` Rafael J. Wysocki
2016-05-19 19:19 ` Steve Muckle
2016-05-19 21:06 ` Rafael J. Wysocki
2016-05-19 23:04 ` Steve Muckle
2016-05-21 19:46 ` Steve Muckle
2016-06-01 20:09 ` Steve Muckle
2016-05-09 21:20 ` [PATCH 4/5] cpufreq: schedutil: map raw required frequency to CPU-supported frequency Steve Muckle
2016-05-18 23:37 ` Rafael J. Wysocki
2016-05-19 19:35 ` Steve Muckle
2016-05-19 21:07 ` Rafael J. Wysocki
2016-05-09 21:20 ` Steve Muckle [this message]
2016-05-18 23:44 ` [PATCH 5/5] cpufreq: schedutil: do not update rate limit ts when freq is unchanged Rafael J. Wysocki
2016-05-19 19:46 ` Steve Muckle
2016-05-19 21:15 ` Rafael J. Wysocki
2016-05-19 23:34 ` Steve Muckle
2016-05-20 0:24 ` Rafael J. Wysocki
2016-05-20 0:37 ` Rafael J. Wysocki
2016-05-20 0:40 ` Steve Muckle
2016-05-20 0:46 ` Rafael J. Wysocki
2016-05-20 11:39 ` Rafael J. Wysocki
2016-05-20 11:54 ` Rafael J. Wysocki
2016-05-20 11:59 ` Rafael J. Wysocki
2016-05-20 0:37 ` Steve Muckle
2016-05-20 0:55 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1462828814-32530-6-git-send-email-smuckle@linaro.org \
--to=steve.muckle@linaro.org \
--cc=Juri.Lelli@arm.com \
--cc=dietmar.eggemann@arm.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=morten.rasmussen@arm.com \
--cc=mturquette@baylibre.com \
--cc=patrick.bellasi@arm.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=vincent.guittot@linaro.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).