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>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0iTbaZyAOqb=x4COUuX91u9CgJs-qi2pMBrFrOvC2e0ZQ@mail.gmail.com>
Date: Fri, 28 Nov 2025 21:33:51 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Linux PM <linux-pm@...r.kernel.org>, 
	ACPI Devel Maling List <linux-acpi@...r.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, 
	Mario Limonciello <mario.limonciello@....com>, Viresh Kumar <viresh.kumar@...aro.org>, 
	Shuah Khan <skhan@...uxfoundation.org>, 
	"Chanwoo Choi (samsung.com)" <chanwoo@...nel.org>
Subject: [GIT PULL] Power management updates for v6.19-rc1

Hi Linus,

I am sending this in advance because I am not expecting to make any changes
to it before next week.

Please pull from the tag

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

with top-most commit 7cede21e9f04f16a456d3c3c8a9a8899c8d84757

 Merge branches 'pm-qos' and 'pm-tools'

on top of commit ac3fd01e4c1efce8f2c054cdeb2ddd2fc0fb150d

 Linux 6.18-rc7

to receive power management updates for 6.19-rc1.

There are quite a few interesting things here, including new hardware
support, new features, some bug fixes and documentation updates.  In
addition, there are a usual bunch of minor fixes and cleanups all over.

In the new hardware support category, there are intel_pstate and
intel_rapl driver updates to support new processors, Panther Lake,
Wildcat Lake, Noval Lake, and Diamond Rapids in the OOB mode, OPP
and bandwidth allocation support in the tegra186 cpufreq driver,
and JH7110S SOC support in dt-platdev cpufreq.

The new features are the PM QoS CPU latency limit for suspend-to-idle,
the netlink support for the energy model management, support for
terminating system suspend via a wakeup event during the sync of
file systems, configurable number of hibernation compression threads,
the runtime PM auto-cleanup macros, and the "poweroff" PM event that
is expected to be used during system shutdown.

Bugs are mostly fixed in cpuidle governors, but there are also fixes
elsewhere, like in the amd-pstate cpufreq driver.

Documentation updates include, but are not limited to, a new doc on
debugging shutdown hangs, cross-referencing fixes and cleanups in the
intel_pstate documentation, and updates of comments in the core
hibernation code.

Specifics:

 - Introduce and document a QoS limit on CPU exit latency during wakeup
   from suspend-to-idle (Ulf Hansson)

 - Add support for building libcpupower statically (Zuo An)

 - Add support for sending netlink notifications to user space on energy
   model updates (Changwoo Mini, Peng Fan)

 - Minor improvements to the Rust OPP interface (Tamir Duberstein)

 - Fixes to scope-based pointers in the OPP library (Viresh Kumar)

 - Use residency threshold in polling state override decisions in the
   menu cpuidle governor (Aboorva Devarajan)

 - Add sanity check for exit latency and target residency in the cpufreq
   core (Rafael Wysocki)

 - Use this_cpu_ptr() where possible in the teo governor (Christian
   Loehle)

 - Rework the handling of tick wakeups in the teo cpuidle governor to
   increase the likelihood of stopping the scheduler tick in the cases
   when tick wakeups can be counted as non-timer ones (Rafael Wysocki)

 - Fix a reverse condition in the teo cpuidle governor and drop a
   misguided target residency check from it (Rafael Wysocki)

 - Clean up multiple minor defects in the teo cpuidle governor (Rafael
   Wysocki)

 - Update header inclusion to make it follow the Include What You Use
   principle (Andy Shevchenko)

 - Enable MSR-based RAPL PMU support in the intel_rapl power capping
   driver and arrange for using it on the Panther Lake and Wildcat Lake
   processors (Kuppuswamy Sathyanarayanan)

 - Add support for Nova Lake and Wildcat Lake processors to the
   intel_rapl power capping driver (Kaushlendra Kumar, Srinivas
   Pandruvada)

 - Add OPP and bandwidth support for Tegra186 (Aaron Kling)

 - Optimizations for parameter array handling in the amd-pstate cpufreq
   driver (Mario Limonciello)

 - Fix for mode changes with offline CPUs in the amd-pstate cpufreq
   driver (Gautham Shenoy)

 - Preserve freq_table_sorted across suspend/hibernate in the cpufreq
   core (Zihuan Zhang)

 - Adjust energy model rules for Intel hybrid platforms in the
   intel_pstate cpufreq driver and improve printing of debug messages
   in it (Rafael Wysocki)

 - Replace deprecated strcpy() in cpufreq_unregister_governor()
   (Thorsten Blum)

 - Fix duplicate hyperlink target errors in the intel_pstate cpufreq
   driver documentation and use :ref: directive for internal linking in
   it (Swaraj Gaikwad, Bagas Sanjaya)

 - Add Diamond Rapids OOB mode support to the intel_pstate cpufreq
   driver (Kuppuswamy Sathyanarayanan)

 - Use mutex guard for driver locking in the intel_pstate driver and
   eliminate some code duplication from it (Rafael Wysocki)

 - Replace udelay() with usleep_range() in ACPI cpufreq (Kaushlendra
   Kumar)

 - Minor improvements to various cpufreq drivers (Christian Marangi, Hal
   Feng, Jie Zhan, Marco Crivellari, Miaoqian Lin, and Shuhao Fu)

 - Replace snprintf() with scnprintf() in show_trace_dev_match()
   (Kaushlendra Kumar)

 - Fix memory allocation error handling in pm_vt_switch_required()
   (Malaya Kumar Rout)

 - Introduce CALL_PM_OP() macro and use it to simplify code in
   generic PM operations (Kaushlendra Kumar)

 - Add module param to backtrace all CPUs in the device power management
   watchdog (Sergey Senozhatsky)

 - Rework message printing in swsusp_save() (Rafael Wysocki)

 - Make it possible to change the number of hibernation compression
   threads (Xueqin Luo)

 - Clarify that only cgroup1 freezer uses PM freezer (Tejun Heo)

 - Add document on debugging shutdown hangs to PM documentation and
   correct a mistaken configuration option in it (Mario Limonciello)

 - Shut down wakeup source timer before removing the wakeup source from
   the list (Kaushlendra Kumar, Rafael Wysocki)

 - Introduce new PMSG_POWEROFF event for system shutdown handling with
   the help of PM device callbacks (Mario Limonciello)

 - Make pm_test delay interruptible by wakeup events (Riwen Lu)

 - Clean up kernel-doc comment style usage in the core hibernation
   code and remove unuseful comments from it (Sunday Adelodun, Rafael
   Wysocki)

 - Add support for handling wakeup events and aborting the suspend
   process while it is syncing file systems (Samuel Wu, Rafael Wysocki)

 - Add WQ_UNBOUND to pm_wq workqueue (Marco Crivellari)

 - Add runtime PM wrapper macros for ACQUIRE()/ACQUIRE_ERR() and use
   them in the PCI core and the ACPI TAD driver (Rafael Wysocki)

 - Improve runtime PM in the ACPI TAD driver (Rafael Wysocki)

 - Update pm_runtime_allow/forbid() documentation (Rafael Wysocki)

 - Fix typos in runtime.c comments (Malaya Kumar Rout)

 - Move governor.h from devfreq under include/linux/ and rename to
   devfreq-governor.h to allow devfreq governor definitions in out
   of drivers/devfreq/ (Dmitry Baryshkov)

 - Use min() to improve readability in tegra30-devfreq.c (Thorsten
   Blum)

 - Fix potential use-after-free issue of OPP handling in
   hisi_uncore_freq.c (Pengjie Zhang)

 - Fix typo in DFSO_DOWNDIFFERENTIAL macro name in
   governor_simpleondemand.c in devfreq (Riwen Lu)

Thanks!


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

Aaron Kling (1):
      cpufreq: tegra186: add OPP support and set bandwidth

Aboorva Devarajan (1):
      cpuidle: menu: Use residency threshold in polling state override decisions

Andy Shevchenko (1):
      cpuidle: Update header inclusion

Bagas Sanjaya (1):
      Documentation: intel-pstate: Use :ref: directive for internal linking

Changwoo Min (10):
      PM: EM: Assign a unique ID when creating a performance domain
      PM: EM: Expose the ID of a performance domain via debugfs
      PM: EM: Add em.yaml and autogen files
      PM: EM: Add a skeleton code for netlink notification
      PM: EM: Add an iterator and accessor for the performance domain
      PM: EM: Implement em_nl_get_pds_doit()
      PM: EM: Implement em_nl_get_pd_table_doit()
      PM: EM: Implement em_notify_pd_deleted()
      PM: EM: Implement em_notify_pd_created/updated()
      PM: EM: Notify an event when the performance domain changes

Christian Loehle (1):
      cpuidle: teo: Use this_cpu_ptr() where possible

Christian Marangi (2):
      cpufreq: qcom-nvmem: add compatible fallback for ipq806x for no SMEM
      cpufreq: qcom-nvmem: fix compilation warning for
qcom_cpufreq_ipq806x_match_list

Dmitry Baryshkov (1):
      PM / devfreq: Move governor.h to a public header location

Gautham R. Shenoy (1):
      cpufreq/amd-pstate: Call cppc_set_auto_sel() only for online CPUs

Hal Feng (1):
      cpufreq: dt-platdev: Add JH7110S SOC to the allowlist

Jie Zhan (1):
      cpufreq: CPPC: Don't warn if FIE init fails to read counters

Kaushlendra Kumar (5):
      PM: sleep: Replace snprintf() with scnprintf() in show_trace_dev_match()
      PM: sleep: Introduce CALL_PM_OP() macro to simplify code
      PM: wakeup: Delete timer before removing wakeup source from list
      powercap: intel_rapl: Add support for Nova Lake processors
      cpufreq: ACPI: Replace udelay() with usleep_range()

Kuppuswamy Sathyanarayanan (3):
      cpufreq: intel_pstate: Add Diamond Rapids OOB mode support
      powercap: intel_rapl: Prepare read_raw() interface for
atomic-context callers
      powercap: intel_rapl: Enable MSR-based RAPL PMU support

Malaya Kumar Rout (2):
      PM: console: Fix memory allocation error handling in
pm_vt_switch_required()
      PM: runtime: fix typos in runtime.c comments

Marco Crivellari (2):
      PM: WQ_UNBOUND added to pm_wq workqueue
      cpufreq: tegra194: add WQ_PERCPU to alloc_workqueue users

Mario Limonciello (AMD) (11):
      Documentation: power: Add document on debugging shutdown hangs
      Documentation: power: Correct a mistaken configuration option
      cpufreq/amd-pstate: Use sysfs_match_string() for epp
      cpufreq/amd-pstate: Drop NULL value from amd_pstate_mode_string
      cpufreq/amd-pstate: Make amd_pstate_get_mode_string() never return NULL
      cpufreq/amd-pstate: Adjust return values in amd_pstate_update_status()
      cpufreq/amd-pstate: Fix some whitespace issues
      cpufreq/amd-pstate: Add static asserts for EPP indices
      PM: Introduce new PMSG_POWEROFF event
      scsi: Add PM_EVENT_POWEROFF into suspend callbacks
      usb: sl811-hcd: Add PM_EVENT_POWEROFF into suspend callbacks

Miaoqian Lin (1):
      cpufreq: nforce2: fix reference count leak in nforce2

Peng Fan (1):
      PM: EM: Add to em_pd_list only when no failure

Pengjie Zhang (1):
      PM / devfreq: hisi: Fix potential UAF in OPP handling

Rafael J. Wysocki (25):
      PM: hibernate: Rework message printing in swsusp_save()
      cpufreq: intel_pstate: Add and use hybrid_get_cpu_type()
      cpufreq: intel_pstate: Add and use hybrid_has_l3()
      cpufreq: intel_pstate: hybrid: Adjust energy model rules
      cpufreq: intel_pstate: Improve printing of debug messages
      PM: runtime: docs: Update pm_runtime_allow/forbid() documentation
      ACPI: TAD: Rearrange runtime PM operations in acpi_tad_remove()
      ACPI: TAD: Improve runtime PM using guard macros
      cpufreq: intel_pstate: Use mutex guard for driver locking
      PM: wakeup: Update after recent wakeup source removal ordering change
      cpuidle: Add sanity check for exit latency and target residency
      cpuidle: governors: teo: Drop misguided target residency check
      cpuidle: governors: teo: Drop redundant function parameter
      cpuidle: governors: teo: Use s64 consistently in teo_update()
      cpuidle: governors: teo: Decay metrics below DECAY_SHIFT threshold
      PM: runtime: Wrapper macros for ACQUIRE()/ACQUIRE_ERR()
      ACPI: TAD: Use PM_RUNTIME_ACQUIRE()/PM_RUNTIME_ACQUIRE_ERR()
      PCI/sysfs: Use PM_RUNTIME_ACQUIRE()/PM_RUNTIME_ACQUIRE_ERR()
      cpufreq: intel_pstate: Eliminate some code duplication
      cpuidle: governors: teo: Rework the handling of tick wakeups
      cpuidle: governors: teo: Fix tick_intercepts handling in teo_update()
      cpuidle: governors: teo: Simplify intercepts-based state lookup
      PM: hibernate: Extra cleanup of comments in swap handling code
      cpuidle: governors: teo: Add missing space to the description
      cpuidle: Warn instead of bailing out if target residency check fails

Riwen Lu (2):
      PM: suspend: Make pm_test delay interruptible by wakeup events
      PM / devfreq: Fix typo in DFSO_DOWNDIFFERENTIAL macro name

Samuel Wu (2):
      PM: sleep: Add support for wakeup during filesystem sync
      PM: sleep: Call pm_sleep_fs_sync() instead of ksys_sync_helper()

Sergey Senozhatsky (1):
      PM: dpm_watchdog: add module param to backtrace all CPUs

Shuhao Fu (1):
      cpufreq: s5pv210: fix refcount leak

Srinivas Pandruvada (1):
      powercap: intel_rapl: Add support for Wildcat Lake platform

Sunday Adelodun (1):
      PM: hibernate: Clean up kernel-doc comment style usage

Swaraj Gaikwad (1):
      Documentation: intel_pstate: fix duplicate hyperlink target errors

Tamir Duberstein (2):
      rust: opp: fix broken rustdoc link
      rust: opp: simplify callers of `to_c_str_array`

Tejun Heo (1):
      freezer: Clarify that only cgroup1 freezer uses PM freezer

Thorsten Blum (2):
      cpufreq: Replace deprecated strcpy() in cpufreq_unregister_governor()
      PM / devfreq: tegra30: use min to simplify actmon_cpu_to_emc_rate

Ulf Hansson (6):
      PM: QoS: Introduce a CPU system wakeup QoS limit
      pmdomain: Respect the CPU system wakeup QoS limit for s2idle
      pmdomain: Respect the CPU system wakeup QoS limit for cpuidle
      sched: idle: Respect the CPU system wakeup QoS limit for s2idle
      cpuidle: Respect the CPU system wakeup QoS limit for cpuidle
      Documentation: power/cpuidle: Document the CPU system wakeup latency QoS

Viresh Kumar (1):
      OPP: Initialize scope-based pointers inline

Xueqin Luo (3):
      PM: hibernate: dynamically allocate crc->unc_len/unc for
configurable threads
      PM: hibernate: make compression threads configurable
      PM: hibernate: add sysfs interface for hibernate_compression_threads

Zihuan Zhang (1):
      cpufreq: preserve freq_table_sorted across suspend/hibernate

Zuo An (1):
      tools/power/cpupower: Support building libcpupower statically

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

 Documentation/ABI/testing/sysfs-power              |  16 ++
 Documentation/admin-guide/kernel-parameters.txt    |  10 +
 Documentation/admin-guide/pm/cpuidle.rst           |   9 +
 Documentation/admin-guide/pm/intel_pstate.rst      | 133 +++++----
 Documentation/netlink/specs/em.yaml                | 113 ++++++++
 Documentation/power/index.rst                      |   1 +
 Documentation/power/pm_qos_interface.rst           |   9 +-
 Documentation/power/runtime_pm.rst                 |  10 -
 Documentation/power/shutdown-debugging.rst         |  53 ++++
 MAINTAINERS                                        |   3 +
 drivers/acpi/acpi_tad.c                            |  73 ++---
 drivers/base/power/generic_ops.c                   |  85 ++----
 drivers/base/power/main.c                          |  15 +
 drivers/base/power/runtime.c                       |  23 +-
 drivers/base/power/trace.c                         |   4 +-
 drivers/base/power/wakeup.c                        |  24 +-
 drivers/cpufreq/acpi-cpufreq.c                     |   2 +-
 drivers/cpufreq/amd-pstate.c                       |  35 +--
 drivers/cpufreq/cppc_cpufreq.c                     |  17 +-
 drivers/cpufreq/cpufreq-dt-platdev.c               |   1 +
 drivers/cpufreq/cpufreq-nforce2.c                  |   3 +
 drivers/cpufreq/cpufreq.c                          |  11 +-
 drivers/cpufreq/intel_pstate.c                     | 227 +++++++--------
 drivers/cpufreq/qcom-cpufreq-nvmem.c               |  35 ++-
 drivers/cpufreq/s5pv210-cpufreq.c                  |   6 +-
 drivers/cpufreq/tegra186-cpufreq.c                 | 150 +++++++++-
 drivers/cpufreq/tegra194-cpufreq.c                 |   3 +-
 drivers/cpuidle/cpuidle.c                          |  12 +-
 drivers/cpuidle/driver.c                           |  10 +
 drivers/cpuidle/governor.c                         |   4 +
 drivers/cpuidle/governors/menu.c                   |   9 +-
 drivers/cpuidle/governors/teo.c                    | 159 +++++------
 drivers/cpuidle/poll_state.c                       |   4 +
 drivers/devfreq/devfreq.c                          |   2 +-
 drivers/devfreq/governor_passive.c                 |  27 +-
 drivers/devfreq/governor_performance.c             |   2 +-
 drivers/devfreq/governor_powersave.c               |   2 +-
 drivers/devfreq/governor_simpleondemand.c          |   6 +-
 drivers/devfreq/governor_userspace.c               |   2 +-
 drivers/devfreq/hisi_uncore_freq.c                 |   6 +-
 drivers/devfreq/tegra30-devfreq.c                  |  15 +-
 drivers/opp/core.c                                 |  69 ++---
 drivers/opp/cpu.c                                  |  16 +-
 drivers/opp/of.c                                   | 125 +++++----
 drivers/pci/pci-sysfs.c                            |   4 +-
 drivers/pmdomain/core.c                            |  10 +-
 drivers/pmdomain/governor.c                        |  33 ++-
 drivers/powercap/intel_rapl_common.c               |  39 +--
 drivers/powercap/intel_rapl_msr.c                  |  43 ++-
 drivers/powercap/intel_rapl_tpmi.c                 |   2 +-
 drivers/scsi/mesh.c                                |   1 +
 drivers/scsi/stex.c                                |   1 +
 .../intel/int340x_thermal/processor_thermal_rapl.c |   2 +-
 drivers/usb/host/sl811-hcd.c                       |   1 +
 include/linux/cpuidle.h                            |   6 +-
 .../governor.h => include/linux/devfreq-governor.h |  33 +--
 include/linux/energy_model.h                       |   4 +
 include/linux/freezer.h                            |  12 +-
 include/linux/intel_rapl.h                         |   2 +-
 include/linux/pm.h                                 |   8 +-
 include/linux/pm_domain.h                          |   1 +
 include/linux/pm_qos.h                             |   9 +
 include/linux/pm_runtime.h                         |  24 ++
 include/trace/events/power.h                       |   3 +-
 include/uapi/linux/energy_model.h                  |  62 +++++
 kernel/cgroup/legacy_freezer.c                     |   2 +-
 kernel/freezer.c                                   |   2 +-
 kernel/power/Kconfig                               |  11 +
 kernel/power/Makefile                              |   4 +-
 kernel/power/console.c                             |   8 +-
 kernel/power/em_netlink.c                          | 308 +++++++++++++++++++++
 kernel/power/em_netlink.h                          |  39 +++
 kernel/power/em_netlink_autogen.c                  |  48 ++++
 kernel/power/em_netlink_autogen.h                  |  23 ++
 kernel/power/energy_model.c                        |  90 +++++-
 kernel/power/hibernate.c                           |   6 +-
 kernel/power/main.c                                |  81 +++++-
 kernel/power/power.h                               |   1 +
 kernel/power/qos.c                                 | 106 +++++++
 kernel/power/snapshot.c                            |  13 +-
 kernel/power/suspend.c                             |  12 +-
 kernel/power/swap.c                                | 256 +++++++++--------
 kernel/power/user.c                                |   4 +-
 kernel/sched/idle.c                                |  12 +-
 rust/kernel/opp.rs                                 | 114 ++++----
 tools/power/cpupower/Makefile                      |  32 ++-
 86 files changed, 2166 insertions(+), 847 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ