PM: hibernate: Support to select compression algorithm
authorNikhil V <quic_nprakash@quicinc.com>
Wed, 14 Feb 2024 07:39:32 +0000 (13:09 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 22 Feb 2024 19:03:21 +0000 (20:03 +0100)
commit3fec6e5961b77af6a952b77f5c2ea26f7513b216
tree6c54d2e51921318a64740da20a8f50845e5cf43d
parent9bb6c395b0ffeac878fd1509b2bbb976346919fd
PM: hibernate: Support to select compression algorithm

Currently the default compression algorithm is selected based on
compile time options. Introduce a module parameter "hibernate.compressor"
to override this behaviour.

Different compression algorithms have different characteristics and
hibernation may benefit when it uses any of these algorithms, especially
when a secondary algorithm(LZ4) offers better decompression speeds over
a default algorithm(LZO), which in turn reduces hibernation image
restore time.

Users can override the default algorithm in two ways:

 1) Passing "hibernate.compressor" as kernel command line parameter.
    Usage:
     LZO: hibernate.compressor=lzo
     LZ4: hibernate.compressor=lz4

 2) Specifying the algorithm at runtime.
    Usage:
LZO: echo lzo > /sys/module/hibernate/parameters/compressor
LZ4: echo lz4 > /sys/module/hibernate/parameters/compressor

Currently LZO and LZ4 are the supported algorithms. LZO is the default
compression algorithm used with hibernation.

Signed-off-by: Nikhil V <quic_nprakash@quicinc.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Documentation/admin-guide/kernel-parameters.txt
kernel/power/hibernate.c