From: Haowen Tu <tuhaowen@uniontech.com>
To: rafael@kernel.org, laurent.pinchart@ideasonboard.com
Cc: tuhaowen@uniontech.com, gregkh@linuxfoundation.org,
hansg@kernel.org, huangbibo@uniontech.com, lenb@kernel.org,
linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
linux-pm@vger.kernel.org, linux-usb@vger.kernel.org,
mchehab@kernel.org, oneukum@suse.com, pavel@kernel.org,
stern@rowland.harvard.edu
Subject: [PATCH v5 0/4] PM: hibernate: skip unnecessary THAW resume
Date: Thu, 3 Sep 2026 10:14:55 +0800 [thread overview]
Message-ID: <cover.1788399733.git.tuhaowen@uniontech.com> (raw)
In-Reply-To: <20260730153817.GA1555869@killaraus.ideasonboard.com>
During hibernation, after the memory snapshot has been created, the
kernel resumes devices with PMSG_THAW so that the hibernation image can
be written out. Devices that are not involved in image writeout may not
need to be resumed during this transient phase.
Earlier versions handled the UVC case in the driver. Review feedback
pointed out that this does not scale well and that the v4 notifier-based
recovery path does not preserve normal device ordering. This version
moves the skip/recovery handling into the PM core.
The new DPM_FLAG_SKIP_HIBERNATION_THAW flag lets a driver mark a device
that can remain suspended during the post-snapshot image-write phase. If
the original kernel continues running instead of powering down, the PM
core resumes devices skipped this way before userspace is thawed.
The first two patches are unchanged PM fixes/helpers from v3/v4 and keep
Rafael's Acked-by tags. Patch 3 adds the PM core mechanism, and patch 4
marks UVC streaming interfaces with the new flag.
Changes in v5:
- Replace the UVC notifier recovery path with a PM-core-managed skip and
recovery mechanism.
- Add DPM_FLAG_SKIP_HIBERNATION_THAW.
- Use the flag in UVC streaming interfaces.
Haowen Tu (4):
PM: hibernate: clear in_suspend before freeing the snapshot
PM: hibernate: add pm_hibernation_snapshot_done() helper
PM: hibernate: allow devices to skip post-snapshot THAW
media: uvcvideo: skip post-snapshot hibernation THAW
Documentation/driver-api/pm/devices.rst | 17 +++++++
drivers/base/power/main.c | 65 +++++++++++++++++++++++++
drivers/media/usb/uvc/uvc_driver.c | 1 +
include/linux/pm.h | 4 ++
include/linux/suspend.h | 2 +
kernel/power/hibernate.c | 38 ++++++++++++---
6 files changed, 121 insertions(+), 6 deletions(-)
--
2.20.1
next prev parent reply other threads:[~2026-09-03 2:15 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-28 8:05 [PATCH 0/2] PM: hibernate: add helper to detect image-write phase Haowen Tu
2026-04-28 8:05 ` [PATCH 1/2] PM: hibernate: add pm_hibernation_storing_image() helper Haowen Tu
2026-05-26 13:43 ` Rafael J. Wysocki
2026-04-28 8:05 ` [PATCH 2/2] media: uvcvideo: skip resume when writing hibernation image Haowen Tu
2026-04-28 8:36 ` Oliver Neukum
2026-04-28 8:58 ` Haowen Tu
2026-04-28 9:13 ` Laurent Pinchart
2026-04-29 1:15 ` Haowen Tu
2026-04-29 1:16 ` Haowen Tu
2026-05-28 8:18 ` [PATCH v2 0/2] PM: hibernate: skip UVC resume after snapshot Haowen Tu
2026-05-28 8:18 ` [PATCH v2 1/2] PM: hibernate: add pm_hibernation_snapshot_done() helper Haowen Tu
2026-06-01 18:22 ` Rafael J. Wysocki
2026-06-02 3:24 ` Haowen Tu
2026-06-18 1:31 ` [PATCH v3 0/3] PM: hibernate: skip UVC streaming restart after snapshot Haowen Tu
2026-06-18 1:31 ` [PATCH v3 1/3] PM: hibernate: clear in_suspend before freeing the snapshot Haowen Tu
2026-07-22 15:37 ` Rafael J. Wysocki (Intel)
2026-06-18 1:31 ` [PATCH v3 2/3] PM: hibernate: add pm_hibernation_snapshot_done() helper Haowen Tu
2026-07-22 15:40 ` Rafael J. Wysocki (Intel)
2026-06-18 1:31 ` [PATCH v3 3/3] media: uvcvideo: skip streaming restart after hibernation snapshot Haowen Tu
2026-07-22 20:06 ` Laurent Pinchart
2026-07-23 1:39 ` Haowen Tu
2026-07-23 8:46 ` Laurent Pinchart
2026-07-29 7:11 ` [PATCH v4 0/4] PM: hibernate: defer UVC streaming restart after snapshot Haowen Tu
2026-07-29 7:11 ` [PATCH v4 1/4] PM: hibernate: clear in_suspend before freeing the snapshot Haowen Tu
2026-07-29 7:11 ` [PATCH v4 2/4] PM: hibernate: add pm_hibernation_snapshot_done() helper Haowen Tu
2026-07-29 7:11 ` [PATCH v4 3/4] PM: hibernate: notify on image write failure Haowen Tu
2026-07-29 7:11 ` [PATCH v4 4/4] media: uvcvideo: defer streaming restart after hibernation snapshot Haowen Tu
2026-07-29 7:29 ` Hans de Goede
2026-07-29 7:56 ` Haowen Tu
2026-07-29 14:08 ` Alan Stern
2026-07-29 14:43 ` Oliver Neukum
2026-07-29 14:54 ` Alan Stern
2026-07-30 13:16 ` Laurent Pinchart
2026-07-30 14:29 ` Alan Stern
2026-07-30 15:38 ` Laurent Pinchart
2026-07-31 1:30 ` Haowen Tu
2026-09-03 2:14 ` Haowen Tu [this message]
2026-09-03 2:14 ` [PATCH v5 1/4] PM: hibernate: clear in_suspend before freeing the snapshot Haowen Tu
2026-09-03 2:14 ` [PATCH v5 2/4] PM: hibernate: add pm_hibernation_snapshot_done() helper Haowen Tu
2026-09-03 2:14 ` [PATCH v5 3/4] PM: hibernate: allow devices to skip post-snapshot THAW Haowen Tu
2026-09-03 2:14 ` [PATCH v5 4/4] media: uvcvideo: skip post-snapshot hibernation THAW Haowen Tu
2026-05-28 8:18 ` [PATCH v2 2/2] media: uvcvideo: skip resume after hibernation snapshot Haowen Tu
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=cover.1788399733.git.tuhaowen@uniontech.com \
--to=tuhaowen@uniontech.com \
--cc=gregkh@linuxfoundation.org \
--cc=hansg@kernel.org \
--cc=huangbibo@uniontech.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=oneukum@suse.com \
--cc=pavel@kernel.org \
--cc=rafael@kernel.org \
--cc=stern@rowland.harvard.edu \
/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