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

From: Minchan Kim
Date: Wed Sep 27 2017 - 09:41:35 EST


On Wed, Sep 27, 2017 at 03:22:41PM +0200, Michal Hocko wrote:
> On Wed 27-09-17 22:15:11, Minchan Kim wrote:
> > On Wed, Sep 27, 2017 at 10:35:12AM +0200, Michal Hocko wrote:
> > > On Wed 27-09-17 17:04:32, Minchan Kim wrote:
> > > > On Wed, Sep 27, 2017 at 09:48:35AM +0200, Michal Hocko wrote:
> > > > > On Wed 27-09-17 14:04:01, Minchan Kim wrote:
> > > [...]
> > > > > > 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.
> > >
> > > I understand your frustration but config options are not there to bypass
> > > proper design decisions. Why cannot we unconditionally disable all the
> > > read ahead when zram is enabled?
> >
> > It's not a zram specific issue. Every users who have disabled swap readahead
> > via page-cluster will be broken, too.
>
> Do you have any examples outside of zram? Also I do not see why we

I'm not a god to know every usecases on earth. It's just knob and
it's have been there for a long time with following semantic:

Zero disables swap readahead completely.

So, anyuser can use it by their reasons(e.g., small memory system)

I don't want to play with pointless game "Hey, give me an example.
If you couldn't, no worth to keep the semantic" on such long time
simple/clear semantic.


> simply cannot disable swap readahead when page-cluster is 0?

That's was what I want really but Huang want to use two readahead
algorithms in parallel so he wanted to keep two separated disable
knobs.


> --
> Michal Hocko
> SUSE Labs