But you also get that with shared memory in zswap, with all the other advantages. I’d really recommend reading the “Architectural differences” in the linked article from Chris Down, as he’s way deeper into the kernel code than me, but the biggest problem in a setup like a small memory server is:
If you have a ZRAM device, and it fills up, more recently needed pages end up on the backup disk swap, because ZRAM has no way to move between swaps
Where zswap is built into the kernel memory management layer, so it can automatically decide which pages are cold and put them on disk, while keeping fresh ones in compressed RAM.
I.E. in your use case, zswap is better, not even taking into account all the other details from Chris’ article.
But you also get that with shared memory in zswap, with all the other advantages. I’d really recommend reading the “Architectural differences” in the linked article from Chris Down, as he’s way deeper into the kernel code than me, but the biggest problem in a setup like a small memory server is:
If you have a ZRAM device, and it fills up, more recently needed pages end up on the backup disk swap, because ZRAM has no way to move between swaps
Where zswap is built into the kernel memory management layer, so it can automatically decide which pages are cold and put them on disk, while keeping fresh ones in compressed RAM.
I.E. in your use case, zswap is better, not even taking into account all the other details from Chris’ article.