This is instruction how to run multi level compression for zram swap
The idea is that we want to be able to quickly swap memory away when we need memory, but cold pages should be compressed further.
This instruction also includes traditional block storage for uncompressible pages that would not decrease otherwise any memory usage.
Zstd have nice property that decompression speed is basically independend from compression level, so using higher levels will only participate in compression speed.
Using zstd for default compresor causes some ui lags when memory need to be paged out, therefore is okay, but not great solution.
Using zstd for recompression in the background have very little effect assuming you do not use every cpu cycle, and compressing old pages make it failry safe that they will not be needed anytime soon.
This might consume 1 cpu core during recompression (accounted for recompress-idle-ram script) but otherwise allows best from both worlds, fast memory reclaim, fast swap read and very good com