[PATCHv2 0/3] z3fold: background page compaction

From: Vitaly Wool
Date: Thu Oct 20 2016 - 17:50:35 EST


The coming patchset is another take on z3fold page layout
optimization problem. The previous solution [1] used
shrinker to solve the issue of in-page space fragmentation
but after some discussions the decision was made to rewrite
background page layout optimization using good old work
queues.

The patchset thus implements in-page compaction worker for
z3fold, preceded by some code optimizations and preparations
which, again, deserved to be separate patches.

Main changes compared to v1:
- per-page locking is removed due to size problems (z3fold
header becomes greater than one chunk on x86_64 with gcc
6.0) and non-obvious performance benefits
- instead, per-pool spinlock is substituted with rwlock.

Signed-off-by: Vitaly Wool <vitalywool@xxxxxxxxx>

[1] https://lkml.org/lkml/2016/10/15/31