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