Re: [PATCH] PM: add kernel parameter to disable asynchronous suspend/resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 7/8/25 3:38 PM, Rafael J. Wysocki wrote:
> On Tue, Jul 8, 2025 at 4:28 PM Tudor Ambarus <tudor.ambarus@xxxxxxxxxx> wrote:
>>
>> On some platforms, device dependencies are not properly represented by
>> device links, which can cause issues when asynchronous power management
>> is enabled. While it is possible to disable this via sysfs, doing so
>> at runtime can race with the first system suspend event.
>>
>> This patch introduces a kernel command-line parameter, "pm_async", which
>> can be set to "off" to globally disable asynchronous suspend and resume
>> operations from early boot. This provides a robust way to fall back to
>> synchronous (sequential) operation, which can stabilize platforms with
>> problematic dependencies and also serve as a useful debugging tool.
>>
>> The default behavior remains unchanged (asynchronous enabled). To disable
>> it, boot the kernel with the "pm_async=off" parameter.
> 
> IIUC, this effectively is a way to change the initial value of the
> existing pm_async sysfs knob.
> 
> Might be worth mentioning in the changelog.
> 

Right. Will update shortly.

>> Signed-off-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx>
>> ---
>> Dealing with the pixel6 downstream drivers to cope with the changes from
>> https://lore.kernel.org/linux-pm/10629535.nUPlyArG6x@xxxxxxxxxxxxx/.
>>
>> Similar to what people already reported it seems pixel6 lacks proper
>> device links dependencies downstream causing i2c and spi client drivers
>> to fail to suspend. Add kernel param to disable async suspend/resume.
>> ---
>>  Documentation/admin-guide/kernel-parameters.txt | 9 +++++++++
>>  kernel/power/main.c                             | 9 +++++++++
>>  2 files changed, 18 insertions(+)
>>
>> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
>> index f1f2c0874da9ddfc95058c464fdf5dabaf0de713..55ba3e747d86c09a0696e105a1d9cd99218f0c07 100644
>> --- a/Documentation/admin-guide/kernel-parameters.txt
>> +++ b/Documentation/admin-guide/kernel-parameters.txt
>> @@ -5000,6 +5000,15 @@
>>                         that number, otherwise (e.g., 'pmu_override=on'), MMCR1
>>                         remains 0.
>>
>> +       pm_async        [PM]
>> +                       If set to "off", disables asynchronous suspend and
>> +                       resume of devices during system-wide power transitions.
>> +                       This can be useful on platforms where device
>> +                       dependencies are not well-defined, or for debugging
>> +                       power management issues. Defaults to "on" (asynchronous
>> +                       operations enabled).
> 
> And here too because it is now unclear how this relates to the pm_sync
> under /sys/power/.

Sounds good.




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux