lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0gK5=_HkTg-O7GOz-xUw27_484_AeoJHaz9vN0XRZvmqw@mail.gmail.com>
Date: Mon, 26 May 2025 22:12:06 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Linux PM <linux-pm@...r.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Viresh Kumar <viresh.kumar@...aro.org>, 
	ACPI Devel Maling List <linux-acpi@...r.kernel.org>
Subject: [GIT PULL] Power management updates for v6.16-rc1

Hi Linus,

Please pull from the tag

 git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
 pm-6.16-rc1

with top-most commit 3e0c509fbdb106ba2d2fa13beafe58f4ba11e13d

 Merge branch 'pm-tools'

on top of commit a5806cd506af5a7c19bcd596e4708b5c464bfd21

 Linux 6.15-rc7

to receive power management updates for 6.16-rc1.

Once again, the changes are dominated by cpufreq updates, but this time
the majority of them are cpufreq core changes, mostly related to the
introduction of policy locking guards and __free() usage, and fixes
related to boost handling.  Still, there is also a significant update
of the intel_pstate driver making it register an energy model when
running on a hybrid platform which is used for enabling energy-aware
scheduling (EAS) if the driver operates in the passive mode (and
schedutil is used as the cpufreq governor for all CPUs which is the
passive mode default).  There are some amd-pstate driver updates too,
for a good measure, including the "Requested CPU Min frequency" BIOS
option support and new online/offline callbacks.

In the cpuidle space, the most significant change is the addition of
a C1 demotion on/off sysfs knob to intel_idle which should help some
users to configure their systems more precisely.  There is also the
conversion of the PSCI cpuidle driver to a faux device one and there
are two small updates of cpuidle governors.

Device power management is also modified quite a bit, especially the
handling of devices with asynchronous suspend and resume enabled during
system transitions.  They are now going to be handled more asynchronously
during suspend transitions and somewhat less aggressively during resume
transitions.

Apart from the above, the operating performance points (OPP) library
is now going to use mutex locking guards and scope-based cleanup
helpers and there is the usual bunch of assorted fixes and code
cleanups.

Specifics:

 - Fix potential division-by-zero error in em_compute_costs() (Yaxiong
   Tian).

 - Fix typos in energy model documentation and example driver code (Moon
   Hee Lee, Atul Kumar Pant).

 - Rearrange the energy model management code and add a new function for
   adjusting a CPU energy model after adjusting the capacity of the
   given CPU to it (Rafael Wysocki).

 - Refactor cpufreq_online(), add and use cpufreq policy locking guards,
   use __free() in policy reference counting, and clean up core cpufreq
   code on top of that (Rafael Wysocki).

 - Fix boost handling on CPU suspend/resume and sysfs updates (Viresh
   Kumar).

 - Fix des_perf clamping with max_perf in amd_pstate_update() (Dhananjay
   Ugwekar).

 - Add offline, online and suspend callbacks to the amd-pstate driver,
   rename and use the existing amd_pstate_epp callbacks in it (Dhananjay
   Ugwekar).

 - Add support for the "Requested CPU Min frequency" BIOS option to the
   amd-pstate driver (Dhananjay Ugwekar).

 - Reset amd-pstate driver mode after running selftests (Swapnil
   Sapkal).

 - Avoid shadowing ret in amd_pstate_ut_check_driver() (Nathan
   Chancellor).

 - Add helper for governor checks to the schedutil cpufreq governor and
   move cpufreq-specific EAS checks to cpufreq (Rafael Wysocki).

 - Populate the cpu_capacity sysfs entries from the intel_pstate driver
   after registering asym capacity support (Ricardo Neri).

 - Add support for enabling Energy-aware scheduling (EAS) to the
   intel_pstate driver when operating in the passive mode on a hybrid
   platform (Rafael Wysocki).

 - Drop redundant cpus_read_lock() from store_local_boost() in the
   cpufreq core (Seyediman Seyedarab).

 - Replace sscanf() with kstrtouint() in the cpufreq code and use a
   symbol instead of a raw number in it (Bowen Yu).

 - Add support for autonomous CPU performance state selection to the
   CPPC cpufreq driver (Lifeng Zheng).

 - OPP: Add dev_pm_opp_set_level() (Praveen Talari).

 - Introduce scope-based cleanup headers and mutex locking guards in OPP
   core (Viresh Kumar).

 - Switch OPP to use kmemdup_array() (Zhang Enpei).

 - Optimize bucket assignment when next_timer_ns equals KTIME_MAX in the
   menu cpuidle governor (Zhongqiu Han).

 - Convert the cpuidle PSCI driver to a faux device one (Sudeep Holla).

 - Add C1 demotion on/off sysfs knob to the intel_idle driver (Artem
   Bityutskiy).

 - Fix typos in two comments in the teo cpuidle governor (Atul Kumar
   Pant).

 - Fix denying of auto suspend in pm_suspend_timer_fn() (Charan Teja
   Kalla).

 - Move debug runtime PM attributes to runtime_attrs[] (Rafael Wysocki).

 - Add new devm_ functions for enabling runtime PM and runtime PM
   reference counting (Bence Csókás).

 - Remove size arguments from strscpy() calls in the hibernation core
   code (Thorsten Blum).

 - Adjust the handling of devices with asynchronous suspend enabled
   during system suspend and resume to start resuming them immediately
   after resuming their parents and to start suspending such a device
   immediately after suspending its first child (Rafael Wysocki).

 - Adjust messages printed during tasks freezing to avoid using
   pr_cont() (Andrew Sayers, Paul Menzel).

 - Clean up unnecessary usage of !! in pm_print_times_init() (Zihuan
   Zhang).

 - Add missing wakeup source attribute relax_count to sysfs and
   remove the space character at the end ofi the string produced by
   pm_show_wakelocks() (Zijun Hu).

 - Add configurable pm_test delay for hibernation (Zihuan Zhang).

 - Disable asynchronous suspend in ucsi_ccg_probe() to prevent the
   cypd4226 device on Tegra boards from suspending prematurely (Jon
   Hunter).

 - Unbreak printing PM debug messages during hibernation and clean up
   some related code (Rafael Wysocki).

 - Add a systemd service to run cpupower and change cpupower binding's
   Makefile to use -lcpupower (John B. Wyatt IV, Francesco Poli).

Thanks!


---------------

Andrew Sayers (1):
      PM: sleep: Use two lines for "Restarting..." / "done" messages

Artem Bityutskiy (3):
      intel_idle: Add C1 demotion on/off sysfs knob
      Documentation: admin-guide: pm: Document intel_idle C1 demotion
      Documentation: ABI: testing: document the new cpuidle sysfs file

Atul Kumar Pant (2):
      cpuidle: teo: Fix typos in two comments
      PM: EM: Documentation: Fix typos in example driver code

Bence Csókás (1):
      PM: runtime: Add new devm functions

Bowen Yu (2):
      cpufreq: Replace magic number
      cpufreq: Update sscanf() to kstrtouint()

Charan Teja Kalla (1):
      PM: runtime: fix denying of auto suspend in pm_suspend_timer_fn()

Dhananjay Ugwekar (3):
      cpufreq/amd-pstate: Move max_perf limiting in amd_pstate_update
      cpufreq/amd-pstate: Add offline, online and suspend callbacks
for amd_pstate_driver
      cpufreq/amd-pstate: Add support for the "Requested CPU Min
frequency" BIOS option

Francesco Poli (wintermute) (4):
      cpupower: add a systemd service to run cpupower
      cpupower: do not write DESTDIR to cpupower.service
      cpupower: do not call systemctl at install time
      cpupower: do not install files to /etc/default/

John B. Wyatt IV (1):
      cpupower: change binding's makefile to use -lcpupower

Jon Hunter (1):
      ucsi_ccg: Disable async suspend in ucsi_ccg_probe()

Lifeng Zheng (1):
      cpufreq: CPPC: Add support for autonomous selection

Moon Hee Lee (1):
      PM: EM: Documentation: fix typo in energy-model.rst

Nathan Chancellor (1):
      cpufreq/amd-pstate: Avoid shadowing ret in amd_pstate_ut_check_driver()

Paul Menzel (1):
      PM: freezer: Rewrite restarting tasks log to remove stray *done.*

Praveen Talari (1):
      OPP: Add dev_pm_opp_set_level()

Rafael J. Wysocki (25):
      cpufreq: Consolidate some code in cpufreq_online()
      cpufreq: Split cpufreq_online()
      cpufreq: Add and use cpufreq policy locking guards
      cpufreq: intel_pstate: Rearrange max frequency updates handling code
      cpufreq: Use locking guard and __free() in cpufreq_update_policy()
      cpufreq: Drop cpufreq_cpu_acquire() and cpufreq_cpu_release()
      cpufreq: Use __free() for policy reference counting cleanup
      cpufreq: Introduce cpufreq_policy_refresh()
      cpufreq: Pass policy pointer to ->update_limits()
      cpufreq: Drop unused cpufreq_get_policy()
      PM: sleep: Resume children after resuming the parent
      PM: sleep: Suspend async parents after suspending children
      PM: sleep: Make suspend of devices more asynchronous
      cpufreq/sched: schedutil: Add helper for governor checks
      cpufreq/sched: Move cpufreq-specific EAS checks to cpufreq
      PM: sysfs: Move debug runtime PM attributes to runtime_attrs[]
      PM: sleep: Print PM debug messages during hibernation
      PM: sleep: Introduce pm_suspend_in_progress()
      cpufreq: Drop policy locking from cpufreq_policy_is_good_for_eas()
      PM: EM: Move CPU capacity check to em_adjust_new_capacity()
      PM: EM: Introduce em_adjust_cpu_capacity()
      cpufreq: intel_pstate: EAS support for hybrid platforms
      cpufreq: intel_pstate: EAS: Increase cost for CPUs using L3 cache
      cpufreq: intel_pstate: Document hybrid processor support
      PM: sleep: Introduce pm_sleep_transition_in_progress()

Ricardo Neri (2):
      arch_topology: Relocate cpu_scale to topology.[h|c]
      cpufreq: intel_pstate: Populate the cpu_capacity sysfs entries

Seyediman Seyedarab (1):
      cpufreq: drop redundant cpus_read_lock() from store_local_boost()

Sudeep Holla (2):
      cpuidle: psci: Transition to the faux device interface
      cpuidle: psci: Avoid initializing faux device if no DT idle
states are present

Swapnil Sapkal (1):
      amd-pstate-ut: Reset amd-pstate driver mode after running selftests

Thorsten Blum (1):
      PM: hibernate: Remove size arguments when calling strscpy()

Viresh Kumar (10):
      OPP: Remove _get_opp_table_kref()
      OPP: Return opp from dev_pm_opp_get()
      OPP: Return opp_table from dev_pm_opp_get_opp_table_ref()
      OPP: Use scope-based OF cleanup helpers
      cpufreq: Don't unnecessarily call set_boost()
      cpufreq: Introduce policy_set_boost()
      cpufreq: Preserve policy's boost state after resume
      cpufreq: Force sync policy boost with global boost on sysfs update
      OPP: Define and use scope-based cleanup helpers
      OPP: Use mutex locking guards

Yaxiong Tian (1):
      PM: EM: Fix potential division-by-zero error in em_compute_costs()

Zhang Enpei (1):
      OPP: switch to use kmemdup_array()

Zhongqiu Han (1):
      cpuidle: menu: Optimize bucket assignment when next_timer_ns
equals KTIME_MAX

Zihuan Zhang (2):
      PM: sleep: Remove unnecessary !!
      PM: hibernate: add configurable delay for pm_test

Zijun Hu (2):
      PM: wakeup: Add missing wakeup source attribute relax_count
      PM: wakeup: Delete space in the end of string shown by pm_show_wakelocks()

---------------

 Documentation/ABI/testing/sysfs-devices-system-cpu |  61 ++-
 Documentation/admin-guide/kernel-parameters.txt    |   7 +
 Documentation/admin-guide/pm/intel_idle.rst        |  21 +
 Documentation/admin-guide/pm/intel_pstate.rst      | 104 ++++-
 Documentation/power/energy-model.rst               |   8 +-
 arch/x86/pci/fixup.c                               |   4 +-
 drivers/base/arch_topology.c                       |  52 ---
 drivers/base/power/main.c                          | 216 ++++++++--
 drivers/base/power/runtime.c                       |  46 +-
 drivers/base/power/sysfs.c                         |  15 +-
 drivers/base/power/wakeup.c                        |   2 +-
 drivers/base/power/wakeup_stats.c                  |   2 +
 drivers/base/topology.c                            |  52 +++
 drivers/cpufreq/amd-pstate-ut.c                    |  21 +-
 drivers/cpufreq/amd-pstate.c                       | 120 ++++--
 drivers/cpufreq/amd-pstate.h                       |   3 +
 drivers/cpufreq/cppc_cpufreq.c                     | 109 +++++
 drivers/cpufreq/cpufreq.c                          | 463 ++++++++++-----------
 drivers/cpufreq/intel_pstate.c                     | 181 ++++++--
 drivers/cpuidle/cpuidle-psci.c                     |  43 +-
 drivers/cpuidle/governors/menu.c                   |   2 +-
 drivers/cpuidle/governors/teo.c                    |   4 +-
 drivers/gpu/drm/xe/xe_pm.c                         |   2 +-
 drivers/idle/intel_idle.c                          | 102 +++++
 drivers/opp/core.c                                 | 428 +++++++------------
 drivers/opp/cpu.c                                  |  30 +-
 drivers/opp/of.c                                   | 205 ++++-----
 drivers/opp/opp.h                                  |   1 -
 drivers/usb/typec/ucsi/ucsi_ccg.c                  |   2 +
 include/linux/arch_topology.h                      |   8 -
 include/linux/cpufreq.h                            |  22 +-
 include/linux/energy_model.h                       |   2 +
 include/linux/pm_opp.h                             |  32 +-
 include/linux/pm_runtime.h                         |   4 +
 include/linux/suspend.h                            |   9 +
 include/linux/topology.h                           |   9 +
 kernel/power/energy_model.c                        |  72 ++--
 kernel/power/hibernate.c                           |  23 +-
 kernel/power/main.c                                |   8 +-
 kernel/power/power.h                               |   4 +
 kernel/power/process.c                             |   8 +-
 kernel/power/wakelock.c                            |   3 +
 kernel/sched/cpufreq_schedutil.c                   |   9 +-
 kernel/sched/sched.h                               |   2 -
 kernel/sched/topology.c                            |  25 +-
 tools/power/cpupower/Makefile                      |  13 +
 tools/power/cpupower/README                        |  28 ++
 tools/power/cpupower/bindings/python/Makefile      |   8 +-
 tools/power/cpupower/bindings/python/README        |  13 +-
 tools/power/cpupower/cpupower-service.conf         |  32 ++
 tools/power/cpupower/cpupower.service.in           |  16 +
 tools/power/cpupower/cpupower.sh                   |  26 ++
 tools/power/pm-graph/sleepgraph.py                 |   3 +-
 53 files changed, 1723 insertions(+), 962 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ