On 2/12/24 04:32, Nikhil V wrote: > 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@xxxxxxxxxxx> > --- > This patch is dependent on the patch series, [1] (patches 1/4 to 3/4). > This is picked in linux-next, [2]. > [1] https://lore.kernel.org/all/cover.1705927916.git.quic_nprakash@xxxxxxxxxxx/ > [2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/kernel/power?h=next-20240212 > > .../admin-guide/kernel-parameters.txt | 10 ++++ > kernel/power/hibernate.c | 57 ++++++++++++++++++- > 2 files changed, 64 insertions(+), 3 deletions(-) > > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt > index 31b3a25680d0..522155056645 100644 > --- a/Documentation/admin-guide/kernel-parameters.txt > +++ b/Documentation/admin-guide/kernel-parameters.txt > @@ -1748,6 +1748,16 @@ > (that will set all pages holding image data > during restoration read-only). > Hi, Please add something like: > + hibernate.compressor= [HIBERNATION] Compression algorithm to be > + used with hibernation. > + Format: { lzo | lz4 } Default: lzo > + > + lzo: Select LZO compression algorithm to > + compress/decompress hibernation image. > + > + lz4: Select LZ4 compression algorithm to > + compress/decompress hibernation image. > + > highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact > size of <nn>. This works even on boxes that have no > highmem otherwise. This also works to reduce highmem thanks. -- #Randy