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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>