On Tue, 19 Apr 2016 11:48:45 +0200 Vitaly Wool <vitalywool@xxxxxxxxx> wrote:
This patch introduces z3fold, a special purpose allocator for storing
compressed pages. It is designed to store up to three compressed pages per
physical page. It is a ZBUD derivative which allows for higher compression
ratio keeping the simplicity and determinism of its predecessor.
The main differences between z3fold and zbud are:
* unlike zbud, z3fold allows for up to PAGE_SIZE allocations
* z3fold can hold up to 3 compressed pages in its page
This patch comes as a follow-up to the discussions at the Embedded Linux
Conference in San-Diego related to the talk [1]. The outcome of these
discussions was that it would be good to have a compressed page allocator
as stable and deterministic as zbud with with higher compression ratio.
To keep the determinism and simplicity, z3fold, just like zbud, always
stores an integral number of compressed pages per page, but it can store
up to 3 pages unlike zbud which can store at most 2. Therefore the
compression ratio goes to around 2.5x while zbud's one is around 1.7x.
The patch is based on the latest linux.git tree.
This version of the patch has updates related to various concurrency fixes
made after intensive testing on SMP/HMP platforms.
[1]https://openiotelc2016.sched.org/event/6DAC/swapping-and-embedded-compression-relieves-the-pressure-vitaly-wool-softprise-consulting-ou
So... why don't we just replace zbud with z3fold? (Update the changelog
to answer this rather obvious question, please!)