From: Jonghwa Lee <jonghwa3.lee@samsung.com>
To: linux-kernel@vger.kernel.org
Cc: cpufreq@vger.kernel.org, linux-pm@vger.kernel.org,
Vicent Guittot <vincent.guittot@linaro.org>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
"Rafael J. Wysocky" <rjw@sisk.pl>,
Viresh Kumar <viresh.kumar@linaro.org>,
MyungJoo Ham <myungjoo.ham@samsung.com>,
Lukasz Majewski <l.majewski@samsung.com>
Subject: [RFC v2 0/3] LAB: Support for Legacy Application Booster governor
Date: Fri, 03 May 2013 23:07:49 +0900 [thread overview]
Message-ID: <1367590072-10496-1-git-send-email-jonghwa3.lee@samsung.com> (raw)
From: Lukasz Majewski <l.majewski@samsung.com>
The purpose of this series is to discuss assumptions and idea of implementing
LAB governor support. It shall be treated as a proof-of-concept code for new
(fresh) view on power consumption reduction.
It is divided to three big parts:
1. Low-level code for supporting frequency overclocking at Exynos4 SoCs.
Moreover support for cpufreq_overclock_* interface functions has been added.
This feature is implemented in a way to reduce number of changes at cpufreq
core driver to minimum.
It alters entries at SoC specific frequency table to allow above the standard
limits frequency. Exynos TMU (Thermal Management Unit) is a "safe valve" to
disable overclocking when overheating is detected.
Despite, that this solution is Exynos4 specific it can be easily ported to other
SoCs.
2. New LAB governor.
It calculates number of idle CPUs (based on scheduler data). On this basis it
chose proper first level polynomial function for approximation.
Moreover it enables overclocking when single, heavy loaded CPU is running.
Those new heuristics allow for more platform tight frequency level decision.
To work efficienty this governor relies on scheduler to pack as much tasks as
possible to running cores and put other to IDLE.
Following patches are helpful (one of):
- Vincent Guittot's "packing small tasks" patch
- Alex Shi's power-aware scheduling patch
3. Set of changes needed at core cpufreq code.
The only relevant change is to store idle_time value for each CPU.
Tested at 3.8 linux kernel, Exynos4412 Device
For more details please see respect log messages.
Lukasz Majewski (3):
cpufreq:overclocking: Overclocking support at Exynos4 SoC
cpufreq:LAB: Introduce new cpufreq LAB(Legacy Application Boost)
governor
cpufreq:LAB: Modify cpufreq_governor to support LAB Governor
drivers/cpufreq/Kconfig | 33 +++
drivers/cpufreq/Makefile | 1 +
drivers/cpufreq/cpufreq_governor.c | 7 +
drivers/cpufreq/cpufreq_governor.h | 15 ++
drivers/cpufreq/cpufreq_lab.c | 450 ++++++++++++++++++++++++++++++++++
drivers/cpufreq/exynos-cpufreq.c | 108 ++++++++
drivers/cpufreq/exynos-cpufreq.h | 7 +
drivers/cpufreq/exynos4x12-cpufreq.c | 15 ++
include/linux/cpufreq.h | 35 +++
9 files changed, 671 insertions(+)
create mode 100644 drivers/cpufreq/cpufreq_lab.c
--
1.7.9.5
next reply other threads:[~2013-05-03 14:08 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-03 14:07 Jonghwa Lee [this message]
2013-05-03 14:07 ` [RFC v2 1/3] cpufreq:overclocking: Overclocking support at Exynos4 SoC Jonghwa Lee
2013-05-03 14:07 ` [RFC v2 2/3] cpufreq:LAB: Introduce new cpufreq LAB(Legacy Application Boost) governor Jonghwa Lee
2013-05-03 14:07 ` [RFC v2 3/3] cpufreq:LAB: Modify cpufreq_governor to support LAB Governor Jonghwa Lee
2013-05-22 9:07 ` [RFC v2 0/3] LAB: Support for Legacy Application Booster governor Viresh Kumar
2013-05-22 10:27 ` Lukasz Majewski
2013-05-22 11:16 ` Viresh Kumar
2013-05-22 12:05 ` Lukasz Majewski
2013-05-22 14:44 ` [RFC v2 0/3][TESTS] LAB: Support for Legacy Application Booster governor - tests results Lukasz Majewski
2013-05-24 5:56 ` Lukasz Majewski
2013-05-24 7:52 ` Viresh Kumar
2013-05-24 8:30 ` Lukasz Majewski
2013-05-24 8:51 ` Viresh Kumar
2013-05-24 9:06 ` Daniel Lezcano
2013-05-24 9:13 ` Viresh Kumar
2013-05-24 10:28 ` Daniel Lezcano
2013-05-24 10:32 ` Viresh Kumar
2013-05-24 11:34 ` Lukasz Majewski
2013-05-24 11:20 ` Lukasz Majewski
2013-05-27 5:33 ` Viresh Kumar
2013-05-27 7:34 ` Lukasz Majewski
2013-05-27 12:00 ` Rafael J. Wysocki
2013-05-27 12:16 ` Lukasz Majewski
2013-05-27 13:24 ` Viresh Kumar
2013-05-27 19:48 ` Rafael J. Wysocki
2013-05-28 6:40 ` Lukasz Majewski
2013-05-28 9:44 ` Viresh Kumar
2013-05-28 12:30 ` Rafael J. Wysocki
2013-05-28 13:26 ` Lukasz Majewski
2013-05-28 21:48 ` Rafael J. Wysocki
2013-05-29 5:23 ` Viresh Kumar
2013-05-29 7:09 ` Lukasz Majewski
2013-05-29 7:39 ` Viresh Kumar
2013-05-29 13:45 ` Lukasz Majewski
2014-03-04 10:27 ` [RFC v3 0/5] cpufreq:LAB: Support for LAB governor Lukasz Majewski
2014-03-04 10:27 ` [RFC v3 1/5] cpufreq:LAB:ondemand Adjust ondemand to be able to reuse its methods Lukasz Majewski
2014-03-04 10:27 ` [RFC v3 2/5] cpufreq:LAB:cpufreq_governor Adjust cpufreq_governor.[h|c] to support LAB Lukasz Majewski
2014-03-04 10:27 ` [RFC v3 3/5] cpufreq:LAB:lab Add LAB governor code Lukasz Majewski
2014-03-04 10:27 ` [RFC v3 4/5] cpufreq:LAB:Kconfig Add LAB definitions to Kconfig Lukasz Majewski
2014-03-04 10:27 ` [RFC v3 5/5] cpufreq:LAB:dts:trats2: Add DTS nodes for LAB governor Lukasz Majewski
2014-03-17 15:38 ` [RFC v3 0/5] cpufreq:LAB: Support " Lukasz Majewski
2014-03-18 6:55 ` Viresh Kumar
2014-03-18 9:17 ` Lukasz Majewski
2014-03-24 6:47 ` Lukasz Majewski
2014-03-24 6:51 ` Viresh Kumar
2014-03-24 8:48 ` Viresh Kumar
2014-03-24 10:00 ` Lukasz Majewski
2014-03-24 10:15 ` 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=1367590072-10496-1-git-send-email-jonghwa3.lee@samsung.com \
--to=jonghwa3.lee@samsung.com \
--cc=cpufreq@vger.kernel.org \
--cc=daniel.lezcano@linaro.org \
--cc=l.majewski@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=myungjoo.ham@samsung.com \
--cc=rjw@sisk.pl \
--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
all inboxes | Powered by JetHome®