All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yu Zhao <yuzhao@google.com>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	jamieliu@google.com, suleiman@google.com
Subject: Re: [PATCH v2 0/3] Per-cgroup swap file support
Date: Wed, 2 Apr 2014 14:29:49 -0700	[thread overview]
Message-ID: <20140402212949.GA29322@google.com> (raw)
In-Reply-To: <20140402205433.GW14688@cmpxchg.org>

On Wed, Apr 02, 2014 at 04:54:33PM -0400, Johannes Weiner wrote:
> On Wed, Apr 02, 2014 at 01:34:06PM -0700, Yu Zhao wrote:
> > This series of patches adds support to configure a cgroup to swap to a
> > particular file by using control file memory.swapfile.
> > 
> > Originally, cgroups share system-wide swap space and limiting cgroup swapping
> > is not possible. This patchset solves the problem by adding mechanism that
> > isolates cgroup swap spaces (i.e. per-cgroup swap file) so users can safely
> > enable swap for particular cgroups without worrying about one cgroup uses up
> > all swap space.
> 
> Isn't that what the swap controller is for?

Well, I should've used word "isolating" instead of "limiting" (and yes, the
example I gave is confusing too). MEMCG_SWAP limits swaping while per-cgroup
swap file not only limits but also isolates the swap space. In another word,
per-cgroup swap file acts like the cgroup owns its private swap file which
can be specified to a particular path when users want the cgroup to swap to
a disk volumes rather than the one used by default (system-wide) swap files.

> 
> config MEMCG_SWAP
> 	bool "Memory Resource Controller Swap Extension"
> 	depends on MEMCG && SWAP
> 	help
> 	  Add swap management feature to memory resource controller. When you
> 	  enable this, you can limit mem+swap usage per cgroup. In other words,
> 	  when you disable this, memory resource controller has no cares to
> 	  usage of swap...a process can exhaust all of the swap. This extension
> 	  is useful when you want to avoid exhaustion swap but this itself
> 	  adds more overheads and consumes memory for remembering information.
> 	  Especially if you use 32bit system or small memory system, please
> 	  be careful about enabling this. When memory resource controller
> 	  is disabled by boot option, this will be automatically disabled and
> 	  there will be no overhead from this. Even when you set this config=y,
> 	  if boot option "swapaccount=0" is set, swap will not be accounted.
> 	  Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
> 	  size is 4096bytes, 512k per 1Gbytes of swap.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Yu Zhao <yuzhao@google.com>
To: Johannes Weiner <hannes@cmpxchg.org>
Cc: linux-mm@kvack.org, cgroups@vger.kernel.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	jamieliu@google.com, suleiman@google.com
Subject: Re: [PATCH v2 0/3] Per-cgroup swap file support
Date: Wed, 2 Apr 2014 14:29:49 -0700	[thread overview]
Message-ID: <20140402212949.GA29322@google.com> (raw)
In-Reply-To: <20140402205433.GW14688@cmpxchg.org>

On Wed, Apr 02, 2014 at 04:54:33PM -0400, Johannes Weiner wrote:
> On Wed, Apr 02, 2014 at 01:34:06PM -0700, Yu Zhao wrote:
> > This series of patches adds support to configure a cgroup to swap to a
> > particular file by using control file memory.swapfile.
> > 
> > Originally, cgroups share system-wide swap space and limiting cgroup swapping
> > is not possible. This patchset solves the problem by adding mechanism that
> > isolates cgroup swap spaces (i.e. per-cgroup swap file) so users can safely
> > enable swap for particular cgroups without worrying about one cgroup uses up
> > all swap space.
> 
> Isn't that what the swap controller is for?

Well, I should've used word "isolating" instead of "limiting" (and yes, the
example I gave is confusing too). MEMCG_SWAP limits swaping while per-cgroup
swap file not only limits but also isolates the swap space. In another word,
per-cgroup swap file acts like the cgroup owns its private swap file which
can be specified to a particular path when users want the cgroup to swap to
a disk volumes rather than the one used by default (system-wide) swap files.

> 
> config MEMCG_SWAP
> 	bool "Memory Resource Controller Swap Extension"
> 	depends on MEMCG && SWAP
> 	help
> 	  Add swap management feature to memory resource controller. When you
> 	  enable this, you can limit mem+swap usage per cgroup. In other words,
> 	  when you disable this, memory resource controller has no cares to
> 	  usage of swap...a process can exhaust all of the swap. This extension
> 	  is useful when you want to avoid exhaustion swap but this itself
> 	  adds more overheads and consumes memory for remembering information.
> 	  Especially if you use 32bit system or small memory system, please
> 	  be careful about enabling this. When memory resource controller
> 	  is disabled by boot option, this will be automatically disabled and
> 	  there will be no overhead from this. Even when you set this config=y,
> 	  if boot option "swapaccount=0" is set, swap will not be accounted.
> 	  Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
> 	  size is 4096bytes, 512k per 1Gbytes of swap.

  reply	other threads:[~2014-04-02 21:29 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-02 20:34 [PATCH v2 0/3] Per-cgroup swap file support Yu Zhao
2014-04-02 20:34 ` Yu Zhao
2014-04-02 20:34 ` Yu Zhao
2014-04-02 20:34 ` [PATCH v2 1/3] mm/swap: support per memory cgroup swapfiles Yu Zhao
2014-04-02 20:34   ` Yu Zhao
2014-04-02 20:34 ` [PATCH v2 2/3] swap: do not store private swap files on swap_list Yu Zhao
2014-04-02 20:34   ` Yu Zhao
2014-04-02 20:34 ` [PATCH v2 3/3] swap: Increase the max swap files to 8192 on x86_64 Yu Zhao
2014-04-02 20:34   ` Yu Zhao
2014-04-02 20:54 ` [PATCH v2 0/3] Per-cgroup swap file support Johannes Weiner
2014-04-02 20:54   ` Johannes Weiner
2014-04-02 21:29   ` Yu Zhao [this message]
2014-04-02 21:29     ` Yu Zhao
2014-04-04 17:10     ` Johannes Weiner
2014-04-04 17:10       ` Johannes Weiner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140402212949.GA29322@google.com \
    --to=yuzhao@google.com \
    --cc=cgroups@vger.kernel.org \
    --cc=hannes@cmpxchg.org \
    --cc=jamieliu@google.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=suleiman@google.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.