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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to