From: Viresh Kumar <viresh.kumar@linaro.org>
To: Rafael Wysocki <rjw@rjwysocki.net>
Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org,
stefan.wahren@i2se.com, nm@ti.com,
linux-arm-kernel@lists.infradead.org, sudeep.holla@arm.com,
Viresh Kumar <viresh.kumar@linaro.org>,
Paul McKenney <paulmck@linux.vnet.ibm.com>
Subject: [PATCH 0/8] OPP: Remove OPPs when not in use
Date: Tue, 25 Nov 2014 16:04:15 +0530 [thread overview]
Message-ID: <cover.1416910766.git.viresh.kumar@linaro.org> (raw)
Hi Rafael,
This is what I came up with in reply to:
http://www.spinics.net/lists/arm-kernel/msg380065.html
The issue was first reported by Stefan Wahren, where he got warnings for
duplicate OPP entries while he tried to insert/remove cpufreq-dt.ko multiple
times.
This set fixes it by first marking each OPP entry as static (created from DT) or
dynamic. And then freeing only static ones from the ->exit() path of cpufreq
drivers. An API is also provided to remove the dynamics ones, but no one is
using it currently.
This also modifies bunch of cpufreq drivers which were using OPPs created from
DT.
At last, thanks to Paul and You to clarify my doubts on RCU. Hope I understood
them correctly :)
Pushed here: git://git.linaro.org/people/viresh.kumar/linux.git cpufreq/opp-remove-v1
Rebased over: pm/linux-next
Tested-on: Exynos 5250, dual cortex A15 with cpufreq-dt.c.
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Viresh Kumar (8):
opp: rename 'head' as 'rcu_head' or 'srcu_head' based on its type
opp: don't match for existing OPPs when list is empty
opp: mark OPPs as 'static' or 'dynamic'
opp: Introduce APIs to remove OPPs
arm_big_little: free OPP table created during ->init()
cpufreq-dt: free OPP table created during ->init()
exynos5440: free OPP table created during ->init()
imx6q: free OPP table created during ->init()
drivers/base/power/opp.c | 196 +++++++++++++++++++++++++++--------
drivers/cpufreq/arm_big_little.c | 7 +-
drivers/cpufreq/arm_big_little.h | 5 +-
drivers/cpufreq/arm_big_little_dt.c | 1 +
drivers/cpufreq/cpufreq-dt.c | 6 +-
drivers/cpufreq/exynos5440-cpufreq.c | 5 +-
drivers/cpufreq/imx6q-cpufreq.c | 11 +-
include/linux/pm_opp.h | 12 ++-
8 files changed, 195 insertions(+), 48 deletions(-)
--
2.0.3.693.g996b0fd
next reply other threads:[~2014-11-25 10:35 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-25 10:34 Viresh Kumar [this message]
2014-11-25 10:34 ` [PATCH 1/8] opp: rename 'head' as 'rcu_head' or 'srcu_head' based on its type Viresh Kumar
2014-11-25 10:34 ` [PATCH 2/8] opp: don't match for existing OPPs when list is empty Viresh Kumar
2014-11-25 10:34 ` [PATCH 3/8] opp: mark OPPs as 'static' or 'dynamic' Viresh Kumar
2014-11-25 10:34 ` [PATCH 4/8] opp: Introduce APIs to remove OPPs Viresh Kumar
2014-11-25 16:24 ` Paul E. McKenney
2014-11-25 17:16 ` Viresh Kumar
2014-11-25 17:39 ` Paul E. McKenney
2014-11-26 6:29 ` Viresh Kumar
2014-11-26 9:17 ` Viresh Kumar
2014-11-26 22:32 ` Rafael J. Wysocki
2014-11-27 0:26 ` Viresh Kumar
2014-11-27 0:48 ` Rafael J. Wysocki
[not found] ` <1407c1d67e546a09f5dd122de943de45bcd3c846.1417058376.git.viresh.kumar@linaro.org>
2014-11-27 3:24 ` [PATCH V2 " Viresh Kumar
2014-12-01 23:25 ` Paul E. McKenney
2014-11-27 3:24 ` [PATCH V1 5/8] opp: replace kfree_rcu() with call_srcu() in opp_set_availability() Viresh Kumar
2014-11-25 10:34 ` [PATCH 5/8] arm_big_little: free OPP table created during ->init() Viresh Kumar
2014-12-01 7:11 ` Viresh Kumar
2014-12-01 22:37 ` Rafael J. Wysocki
2014-12-02 3:46 ` Viresh Kumar
2014-11-25 10:34 ` [PATCH 6/8] cpufreq-dt: " Viresh Kumar
2014-11-25 20:15 ` Stefan Wahren
2014-11-25 10:34 ` [PATCH 7/8] exynos5440: " Viresh Kumar
2014-11-25 10:34 ` [PATCH 8/8] imx6q: " 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.1416910766.git.viresh.kumar@linaro.org \
--to=viresh.kumar@linaro.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=nm@ti.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=rjw@rjwysocki.net \
--cc=stefan.wahren@i2se.com \
--cc=sudeep.holla@arm.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).