From: Balbir Singh <balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
To: KAMEZAWA Hiroyuki
<kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
Cc: Rik van Riel <riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
YAMAMOTO Takashi
<yamamoto-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>,
Daisuke Nishimura
<nishimura-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>,
Linux MM <linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org>,
Linux Containers
<containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>,
Hugh Dickins <hugh-DTz5qymZ9yRBDgjK7y7TUQ@public.gmane.org>,
Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH 0/4] swapcgroup(v2)
Date: Fri, 23 May 2008 09:29:23 +0530 [thread overview]
Message-ID: <4836411B.2030601@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080523121027.b0eecfa0.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
KAMEZAWA Hiroyuki wrote:
> On Thu, 22 May 2008 22:26:55 -0400
> Rik van Riel <riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
>
>> Even worse is that a cgroup has NO CONTROL over how much
>> of its memory is kept in RAM and how much is swapped out.
We used to have a control on the swap cache pages as well, but their
implementation needed more thought
> Could you explain "NO CONTROL" ? cgroup has LRU....
> 'how mucch memory should be swapped out from memory' is well controlled
> in the VM besides LRU logic ?
>
>> This kind of decision is made on a system-wide basis by
>> the kernel, dependent on what other processes in the system
>> are doing. There also is no easy way for a cgroup to reduce
>> its swap use, unlike with other resources.
>>
One option is to limit the virtual address space usage of the cgroup to ensure
that swap usage of a cgroup will *not* exceed the specified limit. Along with a
good swap controller, it should provide good control over the cgroup's memory usage.
>
>> In what scenario would you use a resource controller that
>> rewards a group for reaching its limit?
>>
>> How can the cgroup swap space controller help sysadmins
>> achieve performance or fairness goals on a system?
>>
> Perforamnce is not the first goal of this swap controller, I think.
> This is for resouce isolation/overcommiting.
>
> 1. Some _crazy_ people considers swap as very-slow-memory resource ;)
> I don't think so but I know there are tons of people....
>
> 2. Resource Isolation.
> When a cgroup has memory limitation, it can create tons of swap.
> For example, limit a cgroup's memory to be 128M and malloc 3G bytes.
> 2.8Gbytes of swap will be used _easily_. A process can use up all swap.
> In that case, other process can't use swap.
>
> IIRC, a man shown his motivation to controll swap in OLS2007/BOF as following.
> ==
> Consider following system. (and there is no swap controller.)
> Memory 4G. Swap 1G. with 2 cgroups A, B.
>
> state 1) swap is not used.
> A....memory limit to be 1G no swap usage memory_usage=0M
> B....memory limit to be 1G no swap usage memory_usage=0M
>
> state 2) Run a big program on A.
> A....memory limit to be 1G and try to use 1.7G. uses 700MBytes of swap.
> memory_usage=1G swap_usage=700M
> B....memory_usage=0M
>
> state 3) A some of programs ends in 'A'
> A....memory_usage=500M swap_usage=700M
> B....memory_usage=0M.
>
> state 4) Run a big program on B.
> A...memory_usage=500M swap_usage=700M.
> B...memory_usage=1G swap_usage=300M
>
> Group B can only use 1.3G because of unfair swap use of group A.
> But users think why A uses 700M of swap with 500M of free memory....
>
> If we don't have limitation to swap, we'll have to innovate a way to move swap
> to memory in some reasonable logic.
>
> Thanks,
> -Kame
--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
WARNING: multiple messages have this Message-ID (diff)
From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Rik van Riel <riel@redhat.com>,
Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>,
Linux Containers <containers@lists.osdl.org>,
Linux MM <linux-mm@kvack.org>, Pavel Emelyanov <xemul@openvz.org>,
YAMAMOTO Takashi <yamamoto@valinux.co.jp>,
Hugh Dickins <hugh@veritas.com>,
"IKEDA, Munehiro" <m-ikeda@ds.jp.nec.com>
Subject: Re: [PATCH 0/4] swapcgroup(v2)
Date: Fri, 23 May 2008 09:29:23 +0530 [thread overview]
Message-ID: <4836411B.2030601@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080523121027.b0eecfa0.kamezawa.hiroyu@jp.fujitsu.com>
KAMEZAWA Hiroyuki wrote:
> On Thu, 22 May 2008 22:26:55 -0400
> Rik van Riel <riel@redhat.com> wrote:
>
>> Even worse is that a cgroup has NO CONTROL over how much
>> of its memory is kept in RAM and how much is swapped out.
We used to have a control on the swap cache pages as well, but their
implementation needed more thought
> Could you explain "NO CONTROL" ? cgroup has LRU....
> 'how mucch memory should be swapped out from memory' is well controlled
> in the VM besides LRU logic ?
>
>> This kind of decision is made on a system-wide basis by
>> the kernel, dependent on what other processes in the system
>> are doing. There also is no easy way for a cgroup to reduce
>> its swap use, unlike with other resources.
>>
One option is to limit the virtual address space usage of the cgroup to ensure
that swap usage of a cgroup will *not* exceed the specified limit. Along with a
good swap controller, it should provide good control over the cgroup's memory usage.
>
>> In what scenario would you use a resource controller that
>> rewards a group for reaching its limit?
>>
>> How can the cgroup swap space controller help sysadmins
>> achieve performance or fairness goals on a system?
>>
> Perforamnce is not the first goal of this swap controller, I think.
> This is for resouce isolation/overcommiting.
>
> 1. Some _crazy_ people considers swap as very-slow-memory resource ;)
> I don't think so but I know there are tons of people....
>
> 2. Resource Isolation.
> When a cgroup has memory limitation, it can create tons of swap.
> For example, limit a cgroup's memory to be 128M and malloc 3G bytes.
> 2.8Gbytes of swap will be used _easily_. A process can use up all swap.
> In that case, other process can't use swap.
>
> IIRC, a man shown his motivation to controll swap in OLS2007/BOF as following.
> ==
> Consider following system. (and there is no swap controller.)
> Memory 4G. Swap 1G. with 2 cgroups A, B.
>
> state 1) swap is not used.
> A....memory limit to be 1G no swap usage memory_usage=0M
> B....memory limit to be 1G no swap usage memory_usage=0M
>
> state 2) Run a big program on A.
> A....memory limit to be 1G and try to use 1.7G. uses 700MBytes of swap.
> memory_usage=1G swap_usage=700M
> B....memory_usage=0M
>
> state 3) A some of programs ends in 'A'
> A....memory_usage=500M swap_usage=700M
> B....memory_usage=0M.
>
> state 4) Run a big program on B.
> A...memory_usage=500M swap_usage=700M.
> B...memory_usage=1G swap_usage=300M
>
> Group B can only use 1.3G because of unfair swap use of group A.
> But users think why A uses 700M of swap with 500M of free memory....
>
> If we don't have limitation to swap, we'll have to innovate a way to move swap
> to memory in some reasonable logic.
>
> Thanks,
> -Kame
--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
--
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>
next prev parent reply other threads:[~2008-05-23 3:59 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-22 6:13 [PATCH 0/4] swapcgroup(v2) Daisuke Nishimura
2008-05-22 6:13 ` Daisuke Nishimura
[not found] ` <48350F15.9070007-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-22 6:17 ` [PATCH 1/4] swapcgroup: add cgroup files Daisuke Nishimura
2008-05-22 6:17 ` Daisuke Nishimura
2008-05-22 6:18 ` [PATCH 2/4] swapcgroup: add member to swap_info_struct for cgroup Daisuke Nishimura
2008-05-22 6:18 ` Daisuke Nishimura
[not found] ` <4835104B.4040405-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-22 7:23 ` KAMEZAWA Hiroyuki
2008-05-22 7:23 ` KAMEZAWA Hiroyuki
[not found] ` <20080522162312.a60d914b.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-05-22 8:46 ` Daisuke Nishimura
2008-05-22 8:46 ` Daisuke Nishimura
[not found] ` <483532FE.9080707-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-22 9:35 ` KAMEZAWA Hiroyuki
2008-05-22 9:35 ` KAMEZAWA Hiroyuki
2008-05-22 6:20 ` [PATCH 3/4] swapcgroup: implement charge/uncharge Daisuke Nishimura
2008-05-22 6:20 ` Daisuke Nishimura
[not found] ` <48351095.3040009-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-22 7:37 ` KAMEZAWA Hiroyuki
2008-05-22 7:37 ` KAMEZAWA Hiroyuki
[not found] ` <20080522163748.74e9bd4f.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-05-23 11:52 ` Daisuke Nishimura
2008-05-23 11:52 ` Daisuke Nishimura
[not found] ` <4836AFFD.3060605-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-26 0:57 ` KAMEZAWA Hiroyuki
2008-05-26 0:57 ` KAMEZAWA Hiroyuki
[not found] ` <20080526095706.c90a0afb.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-05-27 13:42 ` KAMEZAWA Hiroyuki
2008-05-27 13:42 ` KAMEZAWA Hiroyuki
2008-05-22 6:22 ` [PATCH 4/4] swapcgroup: modify vm_swap_full for cgroup Daisuke Nishimura
2008-05-22 6:22 ` Daisuke Nishimura
[not found] ` <48351120.6000800-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-22 6:45 ` YAMAMOTO Takashi
2008-05-22 6:45 ` YAMAMOTO Takashi
[not found] ` <20080522064507.AB6A35A0A-Pcsii4f/SVk@public.gmane.org>
2008-05-22 12:34 ` Daisuke Nishimura
2008-05-22 12:34 ` Daisuke Nishimura
[not found] ` <4835686A.9000106-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-25 23:35 ` YAMAMOTO Takashi
2008-05-25 23:35 ` YAMAMOTO Takashi
2008-05-22 7:39 ` KAMEZAWA Hiroyuki
2008-05-22 7:39 ` KAMEZAWA Hiroyuki
2008-05-22 8:00 ` KOSAKI Motohiro
2008-05-22 8:00 ` KOSAKI Motohiro
[not found] ` <20080522165322.F516.KOSAKI.MOTOHIRO-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-05-22 12:22 ` Daisuke Nishimura
2008-05-22 12:22 ` Daisuke Nishimura
[not found] ` <4835656D.4020706-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-22 12:32 ` KOSAKI Motohiro
2008-05-22 12:32 ` KOSAKI Motohiro
[not found] ` <2f11576a0805220532l668ca59emd37afb60f50b703-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-05-23 12:26 ` Daisuke Nishimura
2008-05-23 12:26 ` Daisuke Nishimura
2008-05-22 7:44 ` [PATCH 0/4] swapcgroup(v2) KAMEZAWA Hiroyuki
2008-05-22 7:44 ` KAMEZAWA Hiroyuki
[not found] ` <20080522164421.84849565.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-05-23 2:10 ` Daisuke Nishimura
2008-05-23 2:10 ` Daisuke Nishimura
[not found] ` <48362795.9020709-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-23 2:42 ` Daisuke Nishimura
2008-05-23 2:42 ` Daisuke Nishimura
2008-05-22 21:27 ` Balbir Singh
2008-05-22 21:27 ` Balbir Singh
[not found] ` <4835E55A.1000308-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-05-23 4:27 ` Daisuke Nishimura
2008-05-23 4:27 ` Daisuke Nishimura
[not found] ` <483647AB.8090104-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-27 7:31 ` YAMAMOTO Takashi
2008-05-27 7:31 ` YAMAMOTO Takashi
[not found] ` <20080527073118.0D92B5A0E-Pcsii4f/SVk@public.gmane.org>
2008-05-27 7:42 ` Balbir Singh
2008-05-27 7:42 ` Balbir Singh
[not found] ` <483BBB4C.3040501-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-05-27 8:30 ` Daisuke Nishimura
2008-05-27 8:30 ` Daisuke Nishimura
[not found] ` <483BC690.6010206-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-27 13:18 ` Balbir Singh
2008-05-27 13:18 ` Balbir Singh
[not found] ` <483C0A0D.50909-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-05-27 13:42 ` Daisuke Nishimura
2008-05-27 13:42 ` Daisuke Nishimura
[not found] ` <483C0FB2.7080706-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2008-05-27 13:46 ` Balbir Singh
2008-05-27 13:46 ` Balbir Singh
[not found] ` <483C10C0.7040503-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-05-27 14:00 ` Daisuke Nishimura
2008-05-27 14:00 ` Daisuke Nishimura
2008-05-23 2:26 ` Rik van Riel
2008-05-23 2:26 ` Rik van Riel
[not found] ` <20080522222655.166657da-Fuq27k0DHcCSkoNiqTzCLQ@public.gmane.org>
2008-05-23 3:10 ` KAMEZAWA Hiroyuki
2008-05-23 3:10 ` KAMEZAWA Hiroyuki
[not found] ` <20080523121027.b0eecfa0.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-05-23 3:32 ` Rik van Riel
2008-05-23 3:32 ` Rik van Riel
2008-05-23 3:59 ` Balbir Singh [this message]
2008-05-23 3:59 ` Balbir Singh
[not found] ` <4836411B.2030601-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-05-23 4:30 ` KOSAKI Motohiro
2008-05-23 4:30 ` KOSAKI Motohiro
[not found] ` <20080523131812.84F1.KOSAKI.MOTOHIRO-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-05-23 4:51 ` Balbir Singh
2008-05-23 4:51 ` Balbir Singh
[not found] ` <48364D38.7000304-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2008-05-23 5:23 ` KAMEZAWA Hiroyuki
2008-05-23 5:23 ` KAMEZAWA Hiroyuki
2008-05-23 5:29 ` David Singleton
2008-05-23 5:29 ` David Singleton
[not found] ` <4836563B.4060603-FCV4sgi5zeUQrrorzV6ljw@public.gmane.org>
2008-05-23 6:00 ` KOSAKI Motohiro
2008-05-23 6:00 ` KOSAKI Motohiro
[not found] ` <20080523145947.84F4.KOSAKI.MOTOHIRO-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2008-05-23 6:45 ` Balbir Singh
2008-05-23 6:45 ` Balbir Singh
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=4836411B.2030601@linux.vnet.ibm.com \
--to=balbir-23vcf4htsmix0ybbhkvfkdbpr1lh4cv8@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=hugh-DTz5qymZ9yRBDgjK7y7TUQ@public.gmane.org \
--cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=nishimura-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org \
--cc=riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
--cc=yamamoto-jCdQPDEk3idL9jVzuh4AOg@public.gmane.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.