To reduce the number of writes to my system's SSD, I enabled zswap, with zswap.zpool=z3fold as a kernel parameter to set the zswap allocator to z3fold. However, when the system runs, I get zbud for the zswap allocator instead. Investigating system logs shows that z3fold was not available to the kernel at startup, so it made do with zbud.

To get lz4 working in zswap, I did some configuration, creating a new startup ram image with lz4 in it so it was available to the kernel at startup. Do I have to do something similar for z3fold?

1 Answer 1


After a while, I managed to figure it out. Yes, it's very much like enabling lz4 compression in zswap.

Recalling how to enable lz4 compression:

sudo su
echo lz4 >> /etc/initramfs-tools/modules
echo lz4_compress >> /etc/initramfs-tools/modules
update-initramfs -u

I did a similar procedure to enable z3fold:

sudo su
echo z3fold >> /etc/initramfs-tools/modules
update-initramfs -u

Pass zswap.zpool=z3fold into the kernel paramaters, and z3fold should be up and running.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .