From: Viresh Kumar <viresh.kumar@linaro.org>
To: Rafael Wysocki <rjw@rjwysocki.net>
Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org,
Viresh Kumar <viresh.kumar@linaro.org>,
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>,
Kevin Hilman <khilman@kernel.org>,
Krzysztof Kozlowski <k.kozlowski@samsung.com>,
Kukjin Kim <kgene@kernel.org>, Sekhar Nori <nsekhar@ti.com>,
Shawn Guo <shawn.guo@freescale.com>,
Steven Miao <realmz6@gmail.com>
Subject: [PATCH 00/11] cpufreq: Keep policy->freq_table sorted
Date: Thu, 2 Jun 2016 19:49:00 +0530 [thread overview]
Message-ID: <cover.1464876460.git.viresh.kumar@linaro.org> (raw)
Hi Rafael,
This series fixes all cpufreq drivers that provide a 'target_index'
callback or in other words, which provide a freq-table to cpufreq core,
to make sure they *only* use the 'index' argument to ->target_index()
with the policy->freq_table.
This change allows us to remove the (duplicate) sorted-freq-table, which
was added by following series:
[PATCH V2 0/2] cpufreq: Use sorted frequency tables
The final code looks like this:
- drivers provide a freq table to the cpufreq core
- core makes a copy of that and sort that in ascending order of
frequencies. This is what we get from policy->freq_table.
- drivers can now free the freq-table they provided earlier.
- ->target_index() contains the 'index' to this sorted
policy->freq_table.
This is based of the two series I have posted until now:
[PATCH V2 0/6] cpufreq: cleanups and reorganization
[PATCH V2 0/2] cpufreq: Use sorted frequency tables
All the patches are pushed here for testing in case anyone wants to try:
git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git cpufreq/sorted-freq-table
The 3 series combined makes freq-table traversing to find a match really
fast and efficient. Which will also allow us to use it for new governors
like schedutil.
--
viresh
Viresh Kumar (11):
ARM: davinci: Sort frequency table
cpufreq: davinci: Reuse cpufreq_generic_frequency_table_verify()
cpufreq: Use policy->freq_table in ->target_index()
cpufreq: blackfin: Use 'index' only to index into policy->freq_table
cpufreq: elanfreq: Use 'index' only to index into policy->freq_table
cpufreq: exynos: Use 'index' only to index into policy->freq_table
cpufreq: ia64: Use 'index' only to index into policy->freq_table
cpufreq: imx: Use 'index' only to index into policy->freq_table
cpufreq: maple: Use 'index' only to index into policy->freq_table
cpufreq: Keep a single (sorted) freq_table
cpufreq: drivers: Free frequency tables after being used
arch/arm/mach-davinci/da850.c | 16 ++++++++-------
drivers/cpufreq/acpi-cpufreq.c | 7 +++----
drivers/cpufreq/arm_big_little.c | 2 +-
drivers/cpufreq/at32ap-cpufreq.c | 8 ++++----
drivers/cpufreq/blackfin-cpufreq.c | 17 +++++++++++-----
drivers/cpufreq/cpufreq-dt.c | 9 ++++-----
drivers/cpufreq/cpufreq.c | 6 +-----
drivers/cpufreq/cris-artpec3-cpufreq.c | 2 +-
drivers/cpufreq/cris-etraxfs-cpufreq.c | 2 +-
drivers/cpufreq/davinci-cpufreq.c | 22 +--------------------
drivers/cpufreq/dbx500-cpufreq.c | 3 ++-
drivers/cpufreq/e_powersaver.c | 26 +++++++++++++-----------
drivers/cpufreq/elanfreq.c | 8 +++++++-
drivers/cpufreq/exynos5440-cpufreq.c | 13 ++++++++----
drivers/cpufreq/freq_table.c | 36 +++++++++++++---------------------
drivers/cpufreq/ia64-acpi-cpufreq.c | 16 ++++++++++-----
drivers/cpufreq/imx6q-cpufreq.c | 13 +++++++++---
drivers/cpufreq/kirkwood-cpufreq.c | 2 +-
drivers/cpufreq/loongson1-cpufreq.c | 10 +---------
drivers/cpufreq/loongson2_cpufreq.c | 5 ++---
drivers/cpufreq/maple-cpufreq.c | 6 ++++++
include/linux/cpufreq.h | 9 ++-------
22 files changed, 117 insertions(+), 121 deletions(-)
--
2.7.1.410.g6faf27b
next reply other threads:[~2016-06-02 14:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-02 14:19 Viresh Kumar [this message]
2016-06-02 14:19 ` [PATCH 01/11] ARM: davinci: Sort frequency table Viresh Kumar
2016-06-02 14:19 ` [PATCH 02/11] cpufreq: davinci: Reuse cpufreq_generic_frequency_table_verify() Viresh Kumar
2016-06-02 14:19 ` [PATCH 03/11] cpufreq: Use policy->freq_table in ->target_index() Viresh Kumar
2016-06-02 14:19 ` [PATCH 04/11] cpufreq: blackfin: Use 'index' only to index into policy->freq_table Viresh Kumar
2016-06-02 14:19 ` [PATCH 05/11] cpufreq: elanfreq: " Viresh Kumar
2016-06-02 14:19 ` [PATCH 06/11] cpufreq: exynos: " Viresh Kumar
2016-06-02 14:19 ` [PATCH 07/11] cpufreq: ia64: " Viresh Kumar
2016-06-02 14:19 ` [PATCH 08/11] cpufreq: imx: " Viresh Kumar
2016-06-02 14:19 ` [PATCH 09/11] cpufreq: maple: " Viresh Kumar
2016-06-02 14:19 ` [PATCH 10/11] cpufreq: Keep a single (sorted) freq_table Viresh Kumar
2016-06-02 14:19 ` [PATCH 11/11] cpufreq: drivers: Free frequency tables after being used Viresh Kumar
2016-06-02 15:08 ` [PATCH 00/11] cpufreq: Keep policy->freq_table sorted Rafael J. Wysocki
2016-06-02 15:42 ` Viresh Kumar
2016-06-02 20:35 ` Rafael J. Wysocki
2016-06-03 0:01 ` Viresh Kumar
2016-06-03 1:43 ` Rafael J. Wysocki
2016-06-03 3:11 ` Viresh Kumar
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=cover.1464876460.git.viresh.kumar@linaro.org \
--to=viresh.kumar@linaro.org \
--cc=dbaryshkov@gmail.com \
--cc=k.kozlowski@samsung.com \
--cc=kgene@kernel.org \
--cc=khilman@kernel.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=nsekhar@ti.com \
--cc=realmz6@gmail.com \
--cc=rjw@rjwysocki.net \
--cc=shawn.guo@freescale.com \
/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).