Re: [PATCH] mm, swap: Make VMA based swap readahead configurable

From: Minchan Kim
Date: Wed Sep 27 2017 - 04:04:51 EST


On Wed, Sep 27, 2017 at 09:48:35AM +0200, Michal Hocko wrote:
> On Wed 27-09-17 14:04:01, Minchan Kim wrote:
> > On Tue, Sep 26, 2017 at 03:21:29PM +0200, Michal Hocko wrote:
> > > On Thu 21-09-17 09:33:10, Huang, Ying wrote:
> > > > From: Huang Ying <ying.huang@xxxxxxxxx>
> > > >
> > > > This patch adds a new Kconfig option VMA_SWAP_READAHEAD and wraps VMA
> > > > based swap readahead code inside #ifdef CONFIG_VMA_SWAP_READAHEAD/#endif.
> > > > This is more friendly for tiny kernels.
> > >
> > > How (much)?
> > >
> > > > And as pointed to by Minchan
> > > > Kim, give people who want to disable the swap readahead an opportunity
> > > > to notice the changes to the swap readahead algorithm and the
> > > > corresponding knobs.
> > >
> > > Why would anyone want that?
> > >
> > > Please note that adding new config options make the already complicated
> > > config space even more problematic so there should be a good reason to
> > > add one. Please make sure your justification is clear on why this is
> > > worth the future maintenance and configurability burden.
> >
> > The problem is users have disabled swap readahead by echo 0 > /proc/sys/
> > vm/page-cluster are regressed by this new interface /sys/kernel/mm/swap/
> > vma_ra_max_order. Because for disabling readahead completely, they should
> > disable vma_ra_max_order as well as page-cluster from now on.
> >
> > So, goal of new config to notice new feature to admins so they can be aware
> > of new konb vma_ra_max_order as well as page-cluster.
> > I canont think other better idea to preventing such regression.
> >
> > http://lkml.kernel.org/r/%3C20170913014019.GB29422@bbox%3E
>
> So, how are you going to configure this when you do not know whether
> zram will be used? In other words what should e.g. distribution set this
> to?

I have no idea. Unfortunately, it depends on them. If they want to use
zram as swap, they should fix the script. Surely, I don't like it.
Instead, I wanted that page-cluster zeroing disables both virtual/pysical
swap readahead not to break current userspace. However, Huang doesn't
liek it.
If you have better idea, please suggest.