Comment by cwillu
8 hours ago
The article appears to misunderstand the point of the project, and mostly just describes what zswap already does (writing compressed pages back into ram), rather than talking about cram's hardware-offloaded compression that allows cacheline-level access rather than page-level. (And they appear to be aware that they don't really understand it: “My explanation of CRAM might not be completely correct”)
The phoronix article is better, and I say that as someone who usually detests the quality of phoronix's technical writing.
It's not really about hardware offload, the biggest problem with zswap is that it's swap. The rest of the kernel treats it like a fast SSD (which is still incredibly slow compared to RAM) instead of slower memory that needs a bit of special handling on writes.
NUMA maps a lot closer to what compressed RAM actually is. The subsystem is more aware of CRAMs specifics so it can make better decisions about where to put allocations and everything gets faster. And it's less overhead because swap is not really optimized for frequent direct access but for NUMA it's the most basic function.