Minchan Kim <minchan@xxxxxxxxxx> writes: > On Wed, Sep 13, 2017 at 02:02:29PM -0700, Andrew Morton wrote: >> On Wed, 13 Sep 2017 10:40:19 +0900 Minchan Kim <minchan@xxxxxxxxxx> wrote: >> >> > Every zram users like low-end android device has used 0 page-cluster >> > to disable swap readahead because it has no seek cost and works as >> > synchronous IO operation so if we do readahead multiple pages, >> > swap falut latency would be (4K * readahead window size). IOW, >> > readahead is meaningful only if it doesn't bother faulted page's >> > latency. >> > >> > However, this patch introduces additional knob /sys/kernel/mm/swap/ >> > vma_ra_max_order as well as page-cluster. It means existing users >> > has used disabled swap readahead doesn't work until they should be >> > aware of new knob and modification of their script/code to disable >> > vma_ra_max_order as well as page-cluster. >> > >> > I say it's a *regression* and wanted to fix it but Huang's opinion >> > is that it's not a functional regression so userspace should be fixed >> > by themselves. >> > Please look into detail of discussion in >> > http://lkml.kernel.org/r/%3C1505183833-4739-4-git-send-email-minchan@xxxxxxxxxx%3E >> >> hm, tricky problem. I do agree that linking the physical and virtual >> readahead schemes in the proposed fashion is unfortunate. I also agree >> that breaking existing setups (a bit) is also unfortunate. >> >> Would it help if, when page-cluster is written to zero, we do >> >> printk_once("physical readahead disabled, virtual readahead still >> enabled. Disable virtual readhead via >> /sys/kernel/mm/swap/vma_ra_max_order"). >> >> Or something like that. It's pretty lame, but it should help alert the >> zram-readahead-disabling people to the issue? > > It was my last resort. If we cannot find other ways after all, yes, it would > be a minimum we should do. But it still breaks users don't/can't read/modify > alert and program. > > How about this? > > Can't we make vma-based readahead config option? > With that, users who no interest on readahead don't enable vma-based > readahead. In this case, page-cluster works as expected "disable readahead > completely" so it doesn't break anything. Now. Users can choose between VMA based readahead and original readahead via a knob as follow at runtime, /sys/kernel/mm/swap/vma_ra_enabled Best Regards, Huang, Ying > People who want to use upcoming vma-based readahead can enable the feature > and we can say such unfortunate things in config/document description > somewhere so upcoming users will be aware of that unforunate two knobs. -- 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>