All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Gaignard <benjamin.gaignard@st.com>
To: <rjw@rjwysocki.net>, <viresh.kumar@linaro.org>,
	<hugues.fruchet@st.com>, <mchehab@kernel.org>,
	<mcoquelin.stm32@gmail.com>, <alexandre.torgue@st.com>,
	<pavel@ucw.cz>, <len.brown@intel.com>,
	<valentin.schneider@arm.com>, <vincent.guittot@linaro.org>
Cc: <linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-media@vger.kernel.org>,
	<linux-stm32@st-md-mailman.stormreply.com>,
	<linux-arm-kernel@lists.infradead.org>,
	Benjamin Gaignard <benjamin.gaignard@st.com>
Subject: [RFC 2/3] cpufreq: governor: Use minimum load QoS
Date: Tue, 26 May 2020 17:16:18 +0200	[thread overview]
Message-ID: <20200526151619.8779-3-benjamin.gaignard@st.com> (raw)
In-Reply-To: <20200526151619.8779-1-benjamin.gaignard@st.com>

Make sure that the returned load is above the system-wide minimum
load QoS.
Devices could set this specific QoS to inform governors about their
need in terms of CPU load when computing it from idle time isn't accurate.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
---
 drivers/cpufreq/cpufreq_governor.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/cpufreq/cpufreq_governor.c b/drivers/cpufreq/cpufreq_governor.c
index f99ae45efaea..1494e5e4c788 100644
--- a/drivers/cpufreq/cpufreq_governor.c
+++ b/drivers/cpufreq/cpufreq_governor.c
@@ -118,6 +118,7 @@ unsigned int dbs_update(struct cpufreq_policy *policy)
 	unsigned int ignore_nice = dbs_data->ignore_nice_load;
 	unsigned int max_load = 0, idle_periods = UINT_MAX;
 	unsigned int sampling_rate, io_busy, j;
+	unsigned int qos_min_load;
 
 	/*
 	 * Sometimes governors may use an additional multiplier to increase
@@ -225,6 +226,10 @@ unsigned int dbs_update(struct cpufreq_policy *policy)
 
 	policy_dbs->idle_periods = idle_periods;
 
+	qos_min_load = cpufreq_minload_qos_limit();
+	if (qos_min_load > max_load)
+		max_load = qos_min_load;
+
 	return max_load;
 }
 EXPORT_SYMBOL_GPL(dbs_update);
-- 
2.15.0


WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Gaignard <benjamin.gaignard@st.com>
To: <rjw@rjwysocki.net>, <viresh.kumar@linaro.org>,
	<hugues.fruchet@st.com>, <mchehab@kernel.org>,
	<mcoquelin.stm32@gmail.com>, <alexandre.torgue@st.com>,
	<pavel@ucw.cz>, <len.brown@intel.com>,
	<valentin.schneider@arm.com>, <vincent.guittot@linaro.org>
Cc: Benjamin Gaignard <benjamin.gaignard@st.com>,
	linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org
Subject: [RFC 2/3] cpufreq: governor: Use minimum load QoS
Date: Tue, 26 May 2020 17:16:18 +0200	[thread overview]
Message-ID: <20200526151619.8779-3-benjamin.gaignard@st.com> (raw)
In-Reply-To: <20200526151619.8779-1-benjamin.gaignard@st.com>

Make sure that the returned load is above the system-wide minimum
load QoS.
Devices could set this specific QoS to inform governors about their
need in terms of CPU load when computing it from idle time isn't accurate.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
---
 drivers/cpufreq/cpufreq_governor.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/cpufreq/cpufreq_governor.c b/drivers/cpufreq/cpufreq_governor.c
index f99ae45efaea..1494e5e4c788 100644
--- a/drivers/cpufreq/cpufreq_governor.c
+++ b/drivers/cpufreq/cpufreq_governor.c
@@ -118,6 +118,7 @@ unsigned int dbs_update(struct cpufreq_policy *policy)
 	unsigned int ignore_nice = dbs_data->ignore_nice_load;
 	unsigned int max_load = 0, idle_periods = UINT_MAX;
 	unsigned int sampling_rate, io_busy, j;
+	unsigned int qos_min_load;
 
 	/*
 	 * Sometimes governors may use an additional multiplier to increase
@@ -225,6 +226,10 @@ unsigned int dbs_update(struct cpufreq_policy *policy)
 
 	policy_dbs->idle_periods = idle_periods;
 
+	qos_min_load = cpufreq_minload_qos_limit();
+	if (qos_min_load > max_load)
+		max_load = qos_min_load;
+
 	return max_load;
 }
 EXPORT_SYMBOL_GPL(dbs_update);
-- 
2.15.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2020-05-26 15:17 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-26 15:16 [RFC RESEND 0/3] Introduce cpufreq minimum load QoS Benjamin Gaignard
2020-05-26 15:16 ` Benjamin Gaignard
2020-05-26 15:16 ` [RFC 1/3] PM: QoS: " Benjamin Gaignard
2020-05-26 15:16   ` Benjamin Gaignard
2020-05-26 15:16 ` Benjamin Gaignard [this message]
2020-05-26 15:16   ` [RFC 2/3] cpufreq: governor: Use " Benjamin Gaignard
2020-05-26 15:16 ` [RFC 3/3] media: stm32-dcmi: Inform cpufreq governors about cpu load needs Benjamin Gaignard
2020-05-26 15:16   ` Benjamin Gaignard
2020-05-27 10:09 ` [RFC RESEND 0/3] Introduce cpufreq minimum load QoS Valentin Schneider
2020-05-27 10:09   ` Valentin Schneider
2020-05-27 11:17   ` Benjamin GAIGNARD
2020-05-27 11:17     ` Benjamin GAIGNARD
2020-05-27 12:14     ` Valentin Schneider
2020-05-27 12:14       ` Valentin Schneider
2020-05-27 13:11       ` Benjamin GAIGNARD
2020-05-27 13:11         ` Benjamin GAIGNARD
2020-05-27 15:02         ` Valentin Schneider
2020-05-27 15:02           ` Valentin Schneider
2020-05-27 12:22     ` Vincent Guittot
2020-05-27 12:22       ` Vincent Guittot
2020-05-27 12:48       ` Benjamin GAIGNARD
2020-05-27 12:48         ` Benjamin GAIGNARD
2020-05-27 14:54         ` Benjamin GAIGNARD
2020-05-27 14:54           ` Benjamin GAIGNARD
2020-05-27 15:03           ` Rafael J. Wysocki
2020-05-27 15:03             ` Rafael J. Wysocki
  -- strict thread matches above, loose matches on Subject: below --
2020-04-24 11:40 [RFC " Benjamin Gaignard
2020-04-24 11:40 ` [RFC 2/3] cpufreq: governor: Use " Benjamin Gaignard
2020-04-24 11:40   ` Benjamin Gaignard

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=20200526151619.8779-3-benjamin.gaignard@st.com \
    --to=benjamin.gaignard@st.com \
    --cc=alexandre.torgue@st.com \
    --cc=hugues.fruchet@st.com \
    --cc=len.brown@intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mchehab@kernel.org \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=rjw@rjwysocki.net \
    --cc=valentin.schneider@arm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.