[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160315010542.GB2126@swordfish>
Date: Tue, 15 Mar 2016 10:05:42 +0900
From: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
To: Minchan Kim <minchan@...nel.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Joonsoo Kim <js1304@...il.com>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC][PATCH v3 2/5] mm/zsmalloc: remove shrinker compaction
callbacks
On (03/15/16 09:52), Minchan Kim wrote:
[..]
> > > 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
>
> Maybe, user space? :)
haha, yes! sorry, I do quite a lot of typos.
> > b) a compaction from zs_free() that can bail out
> > c) a compaction triggered by the shrinker.
> >
> > all 3 three can run simultaneously.
>
> Yeb.
>
> >
> >
> > _if_ we can keep every class below its watermark, we can reduce the
> > need of "c)".
>
> But the problem is timing. We cannot guarantee when background
> compaction triggers while shrinker is interop with VM so we should
> do the job instantly for the system.
we can have pool's compaction-kthread that we will wake_up()
every time we need a compaction, with no dependency on workqueue
or shrinker.
-ss
Powered by blists - more mailing lists