From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, Sudhir Kumar <skumar@linux.vnet.ibm.com>,
YAMAMOTO Takashi <yamamoto@valinux.co.jp>,
Paul Menage <menage@google.com>,
lizf@cn.fujitsu.com, linux-kernel@vger.kernel.org,
Pavel Emelianov <xemul@openvz.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [-mm][PATCH 1/4] Add memrlimit controller documentation (v5)
Date: Thu, 22 May 2008 15:43:37 +0530 [thread overview]
Message-ID: <48354751.4060206@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080521211603.9fed5e7f.akpm@linux-foundation.org>
Andrew Morton wrote:
> On Wed, 21 May 2008 20:59:37 +0530 Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
>
>>
>> Documentation patch - describes the goals and usage of the memrlimit
>> controller.
>>
>>
>> Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
>> ---
>>
>> Documentation/controllers/memrlimit.txt | 29 +++++++++++++++++++++++++++++
>> 1 file changed, 29 insertions(+)
>>
>> diff -puN /dev/null Documentation/controllers/memrlimit.txt
>> --- /dev/null 2008-05-16 21:23:36.290004010 +0530
>> +++ linux-2.6.26-rc2-balbir/Documentation/controllers/memrlimit.txt 2008-05-21 20:53:33.000000000 +0530
>> @@ -0,0 +1,29 @@
>> +This controller is enabled by the CONFIG_CGROUP_MEMRLIMIT_CTLR option. Prior
>> +to reading this documentation please read Documentation/cgroups.txt and
>> +Documentation/controllers/memory.txt. Several of the principles of this
>> +controller are similar to the memory resource controller.
>> +
>> +This controller framework is designed to be extensible to control any
>> +memory resource limit with little effort.
>> +
>> +This new controller, controls the address space expansion of the tasks
>> +belonging to a cgroup. Address space control is provided along the same lines as
>> +RLIMIT_AS control, which is available via getrlimit(2)/setrlimit(2).
>
> Still would like to see more details here. RLIMIT_AS is simple because
> it applies to a single mm. But a control group may contain multiple
> mm's, and those mm's can share stuff.
>
> The sharing probably isn't important in this situation, where we're
> only concerned with virtual address space size, rather than real
> memory. But still, readers will be wondering about this.
>
> They also will be wondering about the handling of threads versus
> heavyweight processes. _we_ know that, but users and administrators
> may not.
>
>
>> +The interface for controlling address space is provided through
>> +"rlimit.limit_in_bytes". The file is similar to "limit_in_bytes" w.r.t. the user
>> +interface. Please see section 3 of the memory resource controller documentation
>> +for more details on how to use the user interface to get and set values.
>> +
>> +The "memrlimit.usage_in_bytes" file provides information about the total address
>> +space usage of the tasks in the cgroup, in bytes.
>> +
>> +Advantages of providing this feature
>> +
>> +1. Control over virtual address space allows for a cgroup to fail gracefully
>> + i.e., via a malloc or mmap failure as compared to OOM kill when no
>> + pages can be reclaimed.
>
> Well it's more than "i.e.". It would be better to precisely spell out
> the behaviour of this feature. It's mmap() and brk() only, is it not?
> malloc() isn't a system call ;)
>
Yes, true. I thought about wording it that way, but end users understand mmap()
and malloc() better that mmap with MAP_ANONYMOUS or brk(), sbrk().
> Ideally, either the changelog, this document or code comments should be
> sufficient for a manpage to be written. And this level of description
> will lead to better code review and quite likely a better feature.
>
That makes a lot of sense. I'll work on enhancing this documentation.
>> +2. It provides better control over how many pages can be swapped out when
>> + the cgroup goes over its limit. A badly setup cgroup can cause excessive
>> + swapping. Providing control over the address space allocations ensures
>> + that the system administrator has control over the total swapping that
>> + can take place.
>
> IOW: what, exactly and completely, does this feature do?
I'll send an update with more details with an example if possible.
--
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: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, Sudhir Kumar <skumar@linux.vnet.ibm.com>,
YAMAMOTO Takashi <yamamoto@valinux.co.jp>,
Paul Menage <menage@google.com>,
lizf@cn.fujitsu.com, linux-kernel@vger.kernel.org,
Pavel Emelianov <xemul@openvz.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [-mm][PATCH 1/4] Add memrlimit controller documentation (v5)
Date: Thu, 22 May 2008 15:43:37 +0530 [thread overview]
Message-ID: <48354751.4060206@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080521211603.9fed5e7f.akpm@linux-foundation.org>
Andrew Morton wrote:
> On Wed, 21 May 2008 20:59:37 +0530 Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
>
>>
>> Documentation patch - describes the goals and usage of the memrlimit
>> controller.
>>
>>
>> Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
>> ---
>>
>> Documentation/controllers/memrlimit.txt | 29 +++++++++++++++++++++++++++++
>> 1 file changed, 29 insertions(+)
>>
>> diff -puN /dev/null Documentation/controllers/memrlimit.txt
>> --- /dev/null 2008-05-16 21:23:36.290004010 +0530
>> +++ linux-2.6.26-rc2-balbir/Documentation/controllers/memrlimit.txt 2008-05-21 20:53:33.000000000 +0530
>> @@ -0,0 +1,29 @@
>> +This controller is enabled by the CONFIG_CGROUP_MEMRLIMIT_CTLR option. Prior
>> +to reading this documentation please read Documentation/cgroups.txt and
>> +Documentation/controllers/memory.txt. Several of the principles of this
>> +controller are similar to the memory resource controller.
>> +
>> +This controller framework is designed to be extensible to control any
>> +memory resource limit with little effort.
>> +
>> +This new controller, controls the address space expansion of the tasks
>> +belonging to a cgroup. Address space control is provided along the same lines as
>> +RLIMIT_AS control, which is available via getrlimit(2)/setrlimit(2).
>
> Still would like to see more details here. RLIMIT_AS is simple because
> it applies to a single mm. But a control group may contain multiple
> mm's, and those mm's can share stuff.
>
> The sharing probably isn't important in this situation, where we're
> only concerned with virtual address space size, rather than real
> memory. But still, readers will be wondering about this.
>
> They also will be wondering about the handling of threads versus
> heavyweight processes. _we_ know that, but users and administrators
> may not.
>
>
>> +The interface for controlling address space is provided through
>> +"rlimit.limit_in_bytes". The file is similar to "limit_in_bytes" w.r.t. the user
>> +interface. Please see section 3 of the memory resource controller documentation
>> +for more details on how to use the user interface to get and set values.
>> +
>> +The "memrlimit.usage_in_bytes" file provides information about the total address
>> +space usage of the tasks in the cgroup, in bytes.
>> +
>> +Advantages of providing this feature
>> +
>> +1. Control over virtual address space allows for a cgroup to fail gracefully
>> + i.e., via a malloc or mmap failure as compared to OOM kill when no
>> + pages can be reclaimed.
>
> Well it's more than "i.e.". It would be better to precisely spell out
> the behaviour of this feature. It's mmap() and brk() only, is it not?
> malloc() isn't a system call ;)
>
Yes, true. I thought about wording it that way, but end users understand mmap()
and malloc() better that mmap with MAP_ANONYMOUS or brk(), sbrk().
> Ideally, either the changelog, this document or code comments should be
> sufficient for a manpage to be written. And this level of description
> will lead to better code review and quite likely a better feature.
>
That makes a lot of sense. I'll work on enhancing this documentation.
>> +2. It provides better control over how many pages can be swapped out when
>> + the cgroup goes over its limit. A badly setup cgroup can cause excessive
>> + swapping. Providing control over the address space allocations ensures
>> + that the system administrator has control over the total swapping that
>> + can take place.
>
> IOW: what, exactly and completely, does this feature do?
I'll send an update with more details with an example if possible.
--
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-22 10:14 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-21 15:29 [-mm][PATCH 0/4] Add memrlimit controller (v5) Balbir Singh
2008-05-21 15:29 ` Balbir Singh
2008-05-21 15:29 ` [-mm][PATCH 1/4] Add memrlimit controller documentation (v5) Balbir Singh
2008-05-21 15:29 ` Balbir Singh
2008-05-22 4:16 ` Andrew Morton
2008-05-22 4:16 ` Andrew Morton
2008-05-22 10:13 ` Balbir Singh [this message]
2008-05-22 10:13 ` Balbir Singh
2008-05-21 15:29 ` [-mm][PATCH 2/4] Setup the memrlimit controller (v5) Balbir Singh
2008-05-21 15:29 ` Balbir Singh
2008-05-22 4:18 ` Andrew Morton
2008-05-22 4:18 ` Andrew Morton
2008-05-22 10:14 ` Balbir Singh
2008-05-22 10:14 ` Balbir Singh
2008-06-11 17:10 ` Andrea Righi
2008-06-11 17:10 ` Andrea Righi
2008-06-11 17:33 ` Balbir Singh
2008-06-11 17:33 ` Balbir Singh
2008-06-11 18:48 ` Andrea Righi
2008-06-11 18:48 ` Andrea Righi
2008-06-11 19:15 ` Andrew Morton
2008-06-11 19:15 ` Andrew Morton
2008-06-11 20:17 ` Andrea Righi
2008-06-11 20:17 ` Andrea Righi
2008-06-11 20:43 ` Andrew Morton
2008-06-11 20:43 ` Andrew Morton
2008-06-11 22:47 ` Andrea Righi
2008-06-11 22:47 ` Andrea Righi
2008-06-11 22:55 ` Andrew Morton
2008-06-11 22:55 ` Andrew Morton
2008-06-11 23:04 ` Andrea Righi
2008-06-11 23:04 ` Andrea Righi
2008-06-12 6:13 ` Balbir Singh
2008-06-12 6:13 ` Balbir Singh
2008-06-12 8:52 ` Andrea Righi
2008-06-12 8:52 ` Andrea Righi
2008-06-12 9:02 ` Andrew Morton
2008-06-12 9:02 ` Andrew Morton
2008-06-12 9:12 ` Andrea Righi
2008-06-12 9:12 ` Andrea Righi
2008-06-12 17:02 ` [PATCH -mm] PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures Andrea Righi
2008-06-12 17:02 ` Andrea Righi
2008-06-12 22:14 ` Andrea Righi
2008-06-12 22:14 ` Andrea Righi
2008-06-13 9:37 ` Balbir Singh
2008-06-13 9:37 ` Balbir Singh
2008-06-13 9:45 ` Li Zefan
2008-06-13 9:45 ` Li Zefan
2008-05-21 15:29 ` [-mm][PATCH 3/4] cgroup mm owner callback changes to add task info (v5) Balbir Singh
2008-05-21 15:29 ` Balbir Singh
2008-05-22 4:19 ` Andrew Morton
2008-05-22 4:19 ` Andrew Morton
2008-05-22 10:14 ` Balbir Singh
2008-05-22 10:14 ` Balbir Singh
2008-05-21 15:30 ` [-mm][PATCH 4/4] Add memrlimit controller accounting and control (v5) Balbir Singh
2008-05-21 15:30 ` Balbir Singh
2008-05-21 17:20 ` Vivek Goyal
2008-05-21 17:20 ` Vivek Goyal
2008-05-22 4:41 ` Balbir Singh
2008-05-22 4:41 ` Balbir Singh
2008-05-22 4:24 ` Andrew Morton
2008-05-22 4:24 ` Andrew Morton
2008-05-22 10:15 ` Balbir Singh
2008-05-22 10:15 ` 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=48354751.4060206@linux.vnet.ibm.com \
--to=balbir@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizf@cn.fujitsu.com \
--cc=menage@google.com \
--cc=skumar@linux.vnet.ibm.com \
--cc=xemul@openvz.org \
--cc=yamamoto@valinux.co.jp \
/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.