[lkml]   [2019]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH V6 0/7] cpufreq: Use QoS layer to manage freq-constraints

Sorry about another version after another round of embarrassment over
compilation issues. The same patches have gone through pm/linux-next and
linux-next/master earlier, not sure why the current issues never came up
before. Anyway, they were stupid coding mistakes :(

I have pushed these patches again for the build bot to test, which
should finish before these get merged in PM tree now.

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.

- Migrate all users to the QoS framework and get rid of cpufreq specific
- 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

- Fixed compilation issues with !CONFIG_PM case on riscv architecture.

- A new patch added, 6/7.

- 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.

- Add a comment in cpufreq.c as suggested by Qais.
- Rebased on latest pm/linux-next.

- The previous version introduced a completely new framework, this one
moves to PM QoS instead.
- Lots of changes because of this.


Viresh Kumar (7):
PM / QOS: Pass request type to dev_pm_qos_{add|remove}_notifier()
PM / QOS: Rename __dev_pm_qos_read_value() and
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: intel_pstate: Reuse refresh_frequency_limits()
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 | 201 ++++++++++++++++-------
drivers/cpufreq/intel_pstate.c | 7 +-
drivers/cpuidle/governor.c | 2 +-
include/linux/cpufreq.h | 12 +-
include/linux/pm_qos.h | 48 ++++--
10 files changed, 320 insertions(+), 111 deletions(-)


 \ /
  Last update: 2019-07-04 09:37    [W:0.189 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site