Huisong Li
07cba0de55
ACPI: processor: idle: Reset cpuidle on C-state list changes
...
When a power notification event occurs, existing ACPI idle states may
become obsolete. The current implementation only performs a partial
update, leaving critical cpuidle parameters, like target_residency_ns
and exit_latency_ns, stale. Furthermore, per-CPU cpuidle_device data,
including last_residency_ns, states_usage, and the disable flag, are not
properly synchronized. Using these stale values leads to incorrect power
management decisions.
To ensure all parameters are correctly synchronized, modify the
notification handling logic:
1. Unregister all cpuidle_device instances to ensure a clean slate.
2. Unregister and re-register the ACPI idle driver. This forces the
framework to re-evaluate global state parameters and ensures the
driver state matches the new hardware power profile.
3. Re-initialize power information and re-register cpuidle_device for
all possible CPUs to restore functional idle management.
This complete reset ensures that the cpuidle framework and the underlying
ACPI states are perfectly synchronized after a power state change.
Signed-off-by: Huisong Li <lihuisong@huawei.com >
[ rjw: Subject rewrite ]
Link: https://patch.msgid.link/20260407081141.2493581-3-lihuisong@huawei.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com >
2026-04-07 15:32:20 +02:00
..
2026-03-10 11:46:40 -07:00
2026-02-21 17:09:51 -08:00
2026-04-07 15:32:20 +02:00
2026-02-21 17:09:51 -08:00
2026-02-26 21:34:14 -08:00
2026-03-06 09:58:47 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-03-03 13:12:42 +01:00
2026-02-21 17:09:51 -08:00
2026-03-13 10:13:06 -07:00
2026-02-26 08:00:13 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-26 14:34:21 -08:00
2026-02-24 12:54:17 +01:00
2026-02-22 08:26:33 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-25 14:39:19 +01:00
2026-04-07 15:32:20 +02:00
2026-02-28 12:53:25 +09:00
2026-02-24 08:33:30 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 20:03:00 -08:00
2026-02-26 08:00:13 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-28 10:09:24 -08:00
2026-03-14 09:38:49 -07:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-11 16:23:32 +01:00
2026-02-23 11:49:23 +01:00
2026-03-13 10:40:17 +10:00
2026-02-21 20:03:00 -08:00
2026-03-06 10:00:58 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-03-14 16:25:10 -07:00
2026-02-10 20:45:30 -08:00
2026-02-21 20:03:00 -08:00
2026-03-04 12:44:14 +01:00
2026-03-11 22:50:29 +01:00
2026-01-07 21:17:43 +01:00
2026-03-14 16:25:10 -07:00
2026-02-26 04:58:24 -05:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-03-10 18:42:34 +01:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-03-04 08:12:06 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-27 16:33:07 +01:00
2026-02-23 12:05:20 +01:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-03-12 11:33:35 -07:00
2026-02-26 08:00:13 -08:00
2026-02-21 11:02:58 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-03-13 10:13:06 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-03-07 07:44:32 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-26 23:41:04 +01:00
2026-03-03 14:45:17 +02:00
2026-03-06 09:16:39 -08:00
2026-02-21 17:09:51 -08:00
2026-03-04 09:16:41 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-10 14:52:42 +00:00
2026-03-05 10:18:23 -07:00
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 09:43:11 -08:00
2026-03-13 14:18:13 -07:00
2026-02-21 17:09:51 -08:00
2026-03-15 13:15:39 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-22 08:26:33 -08:00
2026-03-11 19:08:43 +00:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-24 10:01:20 -08:00
2026-02-28 20:41:52 -05:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-22 08:26:33 -08:00
2026-03-07 11:08:39 -05:00
2026-02-21 17:09:51 -08:00
2026-03-13 18:19:07 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-22 08:26:33 -08:00
2026-03-05 17:35:12 +01:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-07 07:44:32 -08:00
2026-02-21 17:09:51 -08:00
2025-12-06 18:52:00 -08:00
2026-02-04 20:45:26 +05:30