linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tudor Ambarus <tudor.ambarus@linaro.org>
To: Jonathan Corbet <corbet@lwn.net>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Pavel Machek <pavel@kernel.org>, Len Brown <len.brown@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, peter.griffin@linaro.org,
	andre.draszik@linaro.org, willmcvicker@google.com,
	kernel-team@android.com, rdunlap@infradead.org
Subject: Re: [PATCH v3] PM: add kernel parameter to disable asynchronous suspend/resume
Date: Fri, 11 Jul 2025 14:21:51 +0100	[thread overview]
Message-ID: <b3de1e2b-973f-4b4a-83f3-6015808b3772@linaro.org> (raw)
In-Reply-To: <20250709-pm-async-off-v3-1-cb69a6fc8d04@linaro.org>



On 7/9/25 1:31 PM, Tudor Ambarus 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. It effectively provides a way to set the
> initial value of the existing pm_async sysfs knob at boot time. This
> offers a robust method 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.
> 
> Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
> ---
> Dealing with the pixel6 downstream drivers to cope with the changes from
> https://lore.kernel.org/linux-pm/10629535.nUPlyArG6x@rjwysocki.net/.
> 
> 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.
> ---
> Changes in v3:
> - update documentation with "pm_async=" and "Format: off" (Randy)
> - reword documentation to make it clear "on" isn't a selectable option
>   for pm_async because it's the default behavior.
> - Link to v2: https://lore.kernel.org/r/20250708-pm-async-off-v2-1-7fada54f01c0@linaro.org
> 
> Changes in v2:
> - update the documentation and the commit message to describe that the
>   "pm_async" kernel parameter provides a way to change the initial value
>   of the existing /sys/power/pm_async sysfs knob.
> - Link to v1: https://lore.kernel.org/r/20250708-pm-async-off-v1-1-1b200cc03d9c@linaro.org
> ---
>  Documentation/admin-guide/kernel-parameters.txt | 12 ++++++++++++
>  kernel/power/main.c                             |  9 +++++++++
>  2 files changed, 21 insertions(+)
> 
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index f1f2c0874da9ddfc95058c464fdf5dabaf0de713..06beacf208de3242a3b4bb2413ab6cd3e0083f15 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -5000,6 +5000,18 @@
>  			that number, otherwise (e.g., 'pmu_override=on'), MMCR1
>  			remains 0.
>  
> +	pm_async=	[PM]
> +			Format: off
> +			This parameter sets the initial value of the
> +			/sys/power/pm_async sysfs knob at boot time.
> +			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. Asynchronous operations are
> +			enabled by default.
> +
> +

I just noticed an extra new line here, that checkpatch didn't catch.
Please let me know if I have to resubmit, or it can be amended
when/if applied.

Cheers,
ta

  parent reply	other threads:[~2025-07-11 13:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-09 12:31 [PATCH v3] PM: add kernel parameter to disable asynchronous suspend/resume Tudor Ambarus
2025-07-09 15:47 ` Randy Dunlap
2025-07-11 13:21 ` Tudor Ambarus [this message]
2025-07-11 13:40   ` Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b3de1e2b-973f-4b4a-83f3-6015808b3772@linaro.org \
    --to=tudor.ambarus@linaro.org \
    --cc=andre.draszik@linaro.org \
    --cc=corbet@lwn.net \
    --cc=kernel-team@android.com \
    --cc=len.brown@intel.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=pavel@kernel.org \
    --cc=peter.griffin@linaro.org \
    --cc=rafael@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=willmcvicker@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).