Re: [PATCH] Make swap accounting default behavior configurable

KAMEZAWA Hiroyuki
2010-11-17T01:03:46Z

On Wed, 17 Nov 2010 09:23:39 +0900
Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> wrote:

> 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.
>

I don't think "noswapaccount" is important if "enable is default" when
proper configuration is used ....because it's rarelly used.

BTW, memory usage of swap_cgroup is really important ? It consumes
1 Mbytes per 2G of swap.

Off topic.
I wonder I'll be happy if we can have default config template for all
others as recent "Add Kconfig option for default swappiness" discuss.

Thanks,
-Kame

Thanks,
-Kame