Re: [RFC][PATCH v3 2/5] mm/zsmalloc: remove shrinker compaction callbacks

From: Sergey Senozhatsky
Date: Mon Mar 14 2016 - 03:44:13 EST


On (03/14/16 15:32), Minchan Kim wrote:
> On Thu, Mar 03, 2016 at 11:46:00PM +0900, Sergey Senozhatsky wrote:
> > Do not register shrinker compaction callbacks anymore, since
> > now we shedule class compaction work each time its fragmentation
> > value goes above the watermark.
>
> I suggested to remove shrinker compaction but while I review your
> first patch in this thread, I thought we need upper-bound to
> compact zspage so background work can bail out for latency easily.
> IOW, the work could give up the job. In such case, we might need
> fall-back scheme to continue the job. And I think that could be
> a shrinker.
>
> What do you think?

wouldn't this unnecessarily complicate the whole thing? we would
have
a) a compaction that can be triggered by used space
b) a compaction from zs_free() that can bail out
c) a compaction triggered by the shrinker.

all 3 three can run simultaneously.


_if_ we can keep every class below its watermark, we can reduce the
need of "c)".

-ss