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

From: Michal Hocko
Date: Wed Sep 27 2017 - 09:22:48 EST


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
simply cannot disable swap readahead when page-cluster is 0?
--
Michal Hocko
SUSE Labs