Re: [PATCH] Make swap accounting default behavior configurable

Daisuke Nishimura
2010-11-17T00:40:32Z

On Tue, 16 Nov 2010 12:46:15 -0800
Andrew Morton <akpm@linux-foundation.org> wrote:

> On Tue, 16 Nov 2010 11:17:26 +0100
> Michal Hocko <mhocko@suse.cz> wrote:
>
> > Hi Andrew,
> > could you consider the following patch for the Linus tree, please?
> > The discussion took place in this email thread
> > http://lkml.org/lkml/2010/11/10/114.
> > The patch is based on top of 151f52f09c572 commit in the Linus tree.
> >
> > Please let me know if there I should route this patch through somebody
> > else.
> >
> > Thanks!
> >
> > ---
> > >From 30238aaec758988493af793939f14b0ba83dc4b3 Mon Sep 17 00:00:00 2001
> > From: Michal Hocko <mhocko@suse.cz>
> > Date: Wed, 10 Nov 2010 13:30:04 +0100
> > Subject: [PATCH] Make swap accounting default behavior configurable
> >
> > Swap accounting can be configured by CONFIG_CGROUP_MEM_RES_CTLR_SWAP
> > configuration option and then it is turned on by default. There is
> > a boot option (noswapaccount) which can disable this feature.
> >
> > This makes it hard for distributors to enable the configuration option
> > as this feature leads to a bigger memory consumption and this is a no-go
> > for general purpose distribution kernel. On the other hand swap
> > accounting may be very usuful for some workloads.
>
> This patch is needed by distros, and distros use the -stable tree, I
> assume. Do you see reasons why this patch should be backported into
> -stable, so distros don't need to patch it themselves? If so, any
> particular kernel versions? 2.6.37?
>
> > This patch adds a new configuration option which controls the default
> > behavior (CGROUP_MEM_RES_CTLR_SWAP_ENABLED). If the option is selected
> > then the feature is turned on by default.
> >
> > It also adds a new boot parameter swapaccount which (contrary to
> > noswapaccount) enables the feature. (I would consider swapaccount=yes|no
> > semantic with removed noswapaccount parameter much better but this
> > parameter is kind of API which might be in use and unexpected breakage
> > is no-go.)
> >
> > The default behavior is unchanged (if CONFIG_CGROUP_MEM_RES_CTLR_SWAP is
> > enabled then CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is enabled as well)
> >
> > Signed-off-by: Michal Hocko <mhocko@suse.cz>
> > Acked-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
> > ---
> > Documentation/kernel-parameters.txt | 3 +++
> > init/Kconfig | 13 +++++++++++++
> > mm/memcontrol.c | 15 ++++++++++++++-
> > 3 files changed, 30 insertions(+), 1 deletions(-)
> >
> > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
> > index ed45e98..14eafa5 100644
> > --- a/Documentation/kernel-parameters.txt
> > +++ b/Documentation/kernel-parameters.txt
> > @@ -2385,6 +2385,9 @@ and is between 256 and 4096 characters. It is defined in the file
> > improve throughput, but will also increase the
> > amount of memory reserved for use by the client.
> >
> > + swapaccount [KNL] Enable accounting of swap in memory resource
> > + controller. (See Documentation/cgroups/memory.txt)
>
> So we have swapaccount and noswapaccount. Ho hum, "swapaccount=[1|0]"
> would have been better.
>
I suggested to keep "noswapaccount" for compatibility.
If you and other guys don't like having two parameters, I don't stick to
the old parameter.

Thanks,
Daisuke Nishimura.