From: Dietmar Eggemann <dietmar.eggemann@arm.com>
To: Michael Turquette <mturquette@baylibre.com>,
"peterz@infradead.org" <peterz@infradead.org>,
"mingo@kernel.org" <mingo@kernel.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"preeti@linux.vnet.ibm.com" <preeti@linux.vnet.ibm.com>,
Morten Rasmussen <Morten.Rasmussen@arm.com>,
"riel@redhat.com" <riel@redhat.com>,
"efault@gmx.de" <efault@gmx.de>,
"nicolas.pitre@linaro.org" <nicolas.pitre@linaro.org>,
"daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>,
"vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
"amit.kucheria@linaro.org" <amit.kucheria@linaro.org>,
Juri Lelli <Juri.Lelli@arm.com>,
"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
"viresh.kumar@linaro.org" <viresh.kumar@linaro.org>,
"ashwin.chaugule@linaro.org" <ashwin.chaugule@linaro.org>,
"alex.shi@linaro.org" <alex.shi@linaro.org>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"abelvesa@gmail.com" <abelvesa@gmail.com>,
"pebolle@tiscali.nl" <pebolle@tiscali.nl>
Subject: Re: [PATCH v3 3/4] sched: scheduler-driven cpu frequency selection
Date: Mon, 06 Jul 2015 21:06:38 +0100 [thread overview]
Message-ID: <559ADFCE.3050103@arm.com> (raw)
In-Reply-To: <1435362824-26734-4-git-send-email-mturquette@linaro.org>
Hi Mike,
On 27/06/15 00:53, Michael Turquette wrote:
> From: Michael Turquette <mturquette@baylibre.com>
>
[...]
> comment "CPU frequency scaling drivers"
>
> config CPUFREQ_DT
> diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
> index 1f2c9a1..30241c9 100644
> --- a/include/linux/cpufreq.h
> +++ b/include/linux/cpufreq.h
> @@ -494,6 +494,9 @@ extern struct cpufreq_governor cpufreq_gov_ondemand;
> #elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE)
> extern struct cpufreq_governor cpufreq_gov_conservative;
> #define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_conservative)
> +#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED_GOV)
> +extern struct cpufreq_governor cpufreq_gov_sched_gov;
To get it building with CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED=y .
-#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED_GOV)
-extern struct cpufreq_governor cpufreq_gov_sched_gov;
+#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SCHED)
+extern struct cpufreq_governor cpufreq_gov_sched;
> +#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_sched)
> #endif
> +
> +/**
> + * cpufreq_sched_set_capacity - interface to scheduler for changing capacity values
[...]
minor nit:
s/cpufreq_sched_set_capacity/cpufreq_sched_set_cap
> + * @cpu: cpu whose capacity utilization has recently changed
> + * @capacity: the new capacity requested by cpu
> + *
> + * cpufreq_sched_sched_capacity is an interface exposed to the scheduler so
> + * that the scheduler may inform the governor of updates to capacity
> + * utilization and make changes to cpu frequency. Currently this interface is
> + * designed around PELT values in CFS. It can be expanded to other scheduling
> + * classes in the future if needed.
> + *
> + * cpufreq_sched_set_capacity raises an IPI. The irq_work handler for that IPI
> + * wakes up the thread that does the actual work, cpufreq_sched_thread.
> + *
> + * This functions bails out early if either condition is true:
> + * 1) this cpu did not the new maximum capacity for its frequency domain
> + * 2) no change in cpu frequency is necessary to meet the new capacity request
> + */
> +void cpufreq_sched_set_cap(int cpu, unsigned long capacity)
> +{
> + unsigned int freq_new, cpu_tmp;
> + struct cpufreq_policy *policy;
> + struct gov_data *gd;
> + unsigned long capacity_max = 0;
[...]
next prev parent reply other threads:[~2015-07-06 20:06 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-26 23:53 [PATCH v3 0/4] scheduler-driven cpu frequency selection Michael Turquette
2015-06-26 23:53 ` [PATCH v3 1/4] arm: Frequency invariant scheduler load-tracking support Michael Turquette
2015-06-26 23:53 ` [PATCH v3 2/4] cpufreq: introduce cpufreq_driver_might_sleep Michael Turquette
2015-06-27 0:48 ` Felipe Balbi
2015-06-27 0:48 ` Felipe Balbi
[not found] ` <20150629162621.9112.4040@quantum>
2015-06-29 16:39 ` Felipe Balbi
2015-06-29 16:39 ` Felipe Balbi
2015-06-29 16:56 ` Michael Turquette
2015-06-29 17:03 ` Felipe Balbi
2015-06-29 17:03 ` Felipe Balbi
2015-06-29 17:10 ` Michael Turquette
2015-06-26 23:53 ` [PATCH v3 3/4] sched: scheduler-driven cpu frequency selection Michael Turquette
2015-06-27 0:47 ` Felipe Balbi
2015-06-27 0:47 ` Felipe Balbi
[not found] ` <20150629164943.9112.4253@quantum>
2015-06-29 16:55 ` Felipe Balbi
2015-06-29 16:55 ` Felipe Balbi
2015-07-06 20:06 ` Dietmar Eggemann [this message]
2015-06-26 23:53 ` [PATCH v3 4/4] [RFC] sched: cfs: cpu frequency scaling policy Michael Turquette
2015-07-03 9:57 ` [PATCH v3 0/4] scheduler-driven cpu frequency selection Vincent Guittot
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=559ADFCE.3050103@arm.com \
--to=dietmar.eggemann@arm.com \
--cc=Juri.Lelli@arm.com \
--cc=Morten.Rasmussen@arm.com \
--cc=abelvesa@gmail.com \
--cc=alex.shi@linaro.org \
--cc=amit.kucheria@linaro.org \
--cc=ashwin.chaugule@linaro.org \
--cc=daniel.lezcano@linaro.org \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mturquette@baylibre.com \
--cc=nicolas.pitre@linaro.org \
--cc=pebolle@tiscali.nl \
--cc=peterz@infradead.org \
--cc=preeti@linux.vnet.ibm.com \
--cc=riel@redhat.com \
--cc=rjw@rjwysocki.net \
--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.