]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PM: hibernate: make compression threads configurable
authorXueqin Luo <luoxueqin@kylinos.cn>
Tue, 21 Oct 2025 11:37:27 +0000 (19:37 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 30 Oct 2025 19:07:00 +0000 (20:07 +0100)
commit090bf5a0f40030f4ef294a3edb84c5e99b843c7f
treea45b97494f090555528f681e519752caae5a1129
parente114e2eb7e85b5cc737ff5286cfe68a58caffeba
PM: hibernate: make compression threads configurable

The number of compression/decompression threads has a direct impact on
hibernate image generation and resume latency. Using more threads can
reduce overall resume time, but on systems with fewer CPU cores it may
also introduce contention and reduce efficiency.

Performance was evaluated on an 8-core ARM system, averaged over 10 runs:

    Threads  Hibernate(s)  Resume(s)
    --------------------------------
       3         12.14       18.86
       4         12.28       17.48
       5         11.09       16.77
       6         11.08       16.44

With 5–6 threads, resume latency improves by approximately 12% compared
to the default 3-thread configuration, with negligible impact on
hibernate time.

Introduce a new kernel parameter `hibernate_compression_threads=` that
allows users and integrators to tune the number of
compression/decompression threads at boot. This provides a way to
balance performance and CPU utilization across a wide range of hardware
without recompiling the kernel.

Signed-off-by: Xueqin Luo <luoxueqin@kylinos.cn>
Link: https://patch.msgid.link/f24b3ca6416e230a515a154ed4c121d72a7e05a6.1761046167.git.luoxueqin@kylinos.cn
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Documentation/admin-guide/kernel-parameters.txt
kernel/power/swap.c