Messages in this thread | | | From | Viresh Kumar <> | Subject | [PATCH V4 0/6] cpufreq: Use QoS layer to manage freq-constraints | Date | Thu, 20 Jun 2019 13:05:23 +0530 |
| |
Hello,
This patchset attempts to manage CPU frequency constraints using the PM QoS framework. It only does the basic stuff right now and moves the userspace constraints to use the QoS infrastructure.
This is rebased over pm/linux-next and another cleanup series [1].
Todo: - Migrate all users to the QoS framework and get rid of cpufreq specific notifiers. - Make PM QoS learn about the relation of CPUs in a policy, so a single list of constraints is managed for all of them instead of per-cpu constraints.
V3->V4: - Few commit logs updated as suggested during reviews. - Separate commit (2/6) to create resume-latency specific routines - Reused earlier work ("update") for notifiers as well. - Kept Reviewed-by tags as is as the patches normally got better only. Please take them back if you find any issues.
V2->V3: - Add a comment in cpufreq.c as suggested by Qais. - Rebased on latest pm/linux-next.
V1->V2: - The previous version introduced a completely new framework, this one moves to PM QoS instead. - Lots of changes because of this.
-- viresh
[1] http://lore.kernel.org/lkml/cover.1560999838.git.viresh.kumar@linaro.org
Viresh Kumar (6): PM / QOS: Pass request type to dev_pm_qos_{add|remove}_notifier() PM / QOS: Rename __dev_pm_qos_read_value() and dev_pm_qos_raw_read_value() PM / QOS: Pass request type to dev_pm_qos_read_value() PM / QoS: Add support for MIN/MAX frequency constraints cpufreq: Register notifiers with the PM QoS framework cpufreq: Add QoS requests for userspace constraints
Documentation/power/pm_qos_interface.txt | 12 +- drivers/base/power/domain.c | 8 +- drivers/base/power/domain_governor.c | 4 +- drivers/base/power/qos.c | 135 ++++++++++++++-- drivers/base/power/runtime.c | 2 +- drivers/cpufreq/cpufreq.c | 198 ++++++++++++++++------- drivers/cpuidle/governor.c | 2 +- include/linux/cpufreq.h | 11 +- include/linux/pm_qos.h | 48 ++++-- 9 files changed, 316 insertions(+), 104 deletions(-)
-- 2.21.0.rc0.269.g1a574e7a288b
| |