Re: [PATCH] z3fold: discourage use of pages that weren't compacted

From: Andrew Morton
Date: Mon Nov 14 2016 - 19:33:31 EST


On Fri, 11 Nov 2016 14:02:07 +0100 Vitaly Wool <vitalywool@xxxxxxxxx> wrote:

> If a z3fold page couldn't be compacted, we don't want it to be
> used for next object allocation in the first place. It makes more
> sense to add it to the end of the relevant unbuddied list. If that
> page gets compacted later, it will be added to the beginning of
> the list then.
>
> This simple idea gives 5-7% improvement in randrw fio tests and
> about 10% improvement in fio sequential read/write.

This patch appears to require "z3fold: use per-page spinlock", and
"z3fold: use per-page spinlock" doesn't apply properly.

So things are in a bit of a mess.

I presently have

z3fold-limit-first_num-to-the-actual-range-of-possible-buddy-indexes.patch
z3fold-make-pages_nr-atomic.patch
z3fold-extend-compaction-function.patch

Please take a look, figure out what we should do. Perhaps do it all as
a coherent series rather than an interdependent dribble?