From: Balbir Singh <balbir@in.ibm.com>
To: rohitseth@google.com
Cc: CKRM-Tech <ckrm-tech@lists.sourceforge.net>,
sekharan@us.ibm.com, devel@openvz.org,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [ckrm-tech] [patch00/05]: Containers(V2)- Introduction
Date: Fri, 29 Sep 2006 03:23:44 +0530 [thread overview]
Message-ID: <451C4468.4010009@in.ibm.com> (raw)
In-Reply-To: <1159468275.2669.88.camel@galaxy.corp.google.com>
Rohit Seth wrote:
> On Thu, 2006-09-28 at 13:31 +0530, Balbir Singh wrote:
>> Chandra Seetharaman wrote:
>>> On Wed, 2006-09-27 at 14:28 -0700, Rohit Seth wrote:
>>>
>>> Rohit,
>>>
>>> For 1-4, I understand the rationale. But, your implementation deviates
>>> from the current behavior of the VM subsystem which could affect the
>>> ability of these patches getting into mainline.
>>>
>>> IMO, the current behavior in terms of reclamation, LRU, vm_swappiness,
>>> and writeback logic should be maintained.
>>>
>> <snip>
>>
>> Hi, Rohit,
>>
>> I have been playing around with the containers patch. I finally got
>> around to reading the code.
>>
>>
>> 1. Comments on reclaiming
>>
>> You could try the following options to overcome some of the disadvantages of the
>> current scheme.
>>
>> (a) You could consider a reclaim path based on Dave Hansen's Challenged memory
>> controller (see http://marc.theaimsgroup.com/?l=linux-mm&m=115566982532345&w=2).
>>
>
> I will go through that. Did you get a chance to stress the system and
> found any short comings that should be resolved.
I am yet to reach that stage, most of my playing around was w.r.t moving tasks.
At this point my basic aim was to test basic stability and look at the
accounting w.r.t correctness. I am yet to run any stress on the system.
>
>> (b) The other option is to do what the resource group memory controller does -
>> build a per group LRU list of pages (active, inactive) and reclaim
>> them using the existing code (by passing the correct container pointer,
>> instead of the zone pointer). One disadvantage of this approach is that
>> the global reclaim is impacted as the global LRU list is broken. At the
>> expense of another list, we could maintain two lists, global LRU and
>> container LRU lists. Depending on the context of the reclaim - (container
>> over limit, memory pressure) we could update/manipulate both lists.
>> This approach is definitely very expensive.
>>
>
> Two LRUs is a nice idea. Though I don't think it will go too far. It
> will involve adding another list pointers in the page structure. I
> agree that the mem handler is not optimal at all but I don't want to
> make it mimic kernel reclaimer at the same time.
One possible solution is to move the container tracking out of the pages and
into address_space and anon_vma. I guess this functionality will complicate
task migration and accounting a bit though.
>
>> 2. Comments on task migration support
>>
>> (a) One of the issues I found while using the container code is that, one could
>> add a task to a container say "a". "a" gets charged for the tasks usage,
>> when the same task moves to a different container say "b", when the task
>> exits, the credit goes to "b" and "a" remains indefinitely charged.
>>
> hmm, when the task is removed from "a" then "a" gets the credits for the
> amount of anon memory that is used by the task. Or do you mean
> something different.
Aah, I see. Once possible minor concern here is that a task could hope across
several containers, it could map files in each container and allocate page
cache pages, when it reaches the limit, it could hop to another container
and carry on until it hits the limit there.
>
>> (b) For tasks addition and removal, I think it's probably better to move
>> the entire process (thread group) rather than allow each individual thread
>> to move across containers. Having threads belonging to the same process
>> reside in different containers can be complex to handle, since they
>> share the same VM. Do you have a scenario where the above condition
>> would be useful?
>>
>>
> I don't have a scenario where a task actually gets to move out of
> container (except exit). That asynchronous removal of tasks has already
> got the code very complicated for locking etc. But if you think moving
> a thread group is useful then I will add that functionality.
>
Yes, that would be nice.
> Thanks,
> -rohit
>
--
Balbir Singh,
Linux Technology Center,
IBM Software Labs
next prev parent reply other threads:[~2006-09-28 22:14 UTC|newest]
Thread overview: 150+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-20 2:16 [patch00/05]: Containers(V2)- Introduction Rohit Seth
2006-09-20 5:39 ` Nick Piggin
2006-09-20 16:26 ` Christoph Lameter
2006-09-20 16:26 ` Christoph Lameter
2006-09-20 16:56 ` Nick Piggin
2006-09-20 16:56 ` Nick Piggin
2006-09-20 17:08 ` Christoph Lameter
2006-09-20 17:08 ` Christoph Lameter
2006-09-20 17:19 ` Nick Piggin
2006-09-20 17:19 ` Nick Piggin
2006-09-20 17:30 ` Christoph Lameter
2006-09-20 17:30 ` Christoph Lameter
2006-09-20 18:03 ` Nick Piggin
2006-09-20 18:03 ` Nick Piggin
2006-09-20 17:40 ` Alan Cox
2006-09-20 17:40 ` Alan Cox
2006-09-20 16:27 ` Rohit Seth
2006-09-20 16:27 ` Rohit Seth
[not found] ` <1158751720.8970.67.camel@twins>
[not found] ` <4511626B.9000106@yahoo.com.au>
[not found] ` <1158767787.3278.103.camel@taijtu>
2006-09-20 17:00 ` Nick Piggin
2006-09-20 17:00 ` Nick Piggin
2006-09-20 17:23 ` [ckrm-tech] " Paul Menage
2006-09-20 17:23 ` Paul Menage
2006-09-20 17:36 ` Alan Cox
2006-09-20 17:36 ` Alan Cox
2006-09-20 17:30 ` Nick Piggin
2006-09-20 17:30 ` Nick Piggin
2006-09-20 17:50 ` Rohit Seth
2006-09-20 17:50 ` Rohit Seth
2006-09-20 17:52 ` Christoph Lameter
2006-09-20 17:52 ` Christoph Lameter
2006-09-20 18:06 ` Peter Zijlstra
2006-09-20 18:06 ` Peter Zijlstra
2006-09-20 18:14 ` Rohit Seth
2006-09-20 18:14 ` Rohit Seth
2006-09-20 18:27 ` Peter Zijlstra
2006-09-20 18:27 ` Peter Zijlstra
2006-09-20 18:33 ` [ckrm-tech] " Paul Menage
2006-09-20 18:33 ` Paul Menage
2006-09-20 18:38 ` Rohit Seth
2006-09-20 18:38 ` Rohit Seth
2006-09-20 19:48 ` Paul Jackson
2006-09-20 19:48 ` Paul Jackson
2006-09-20 19:48 ` Christoph Lameter
2006-09-20 19:48 ` Christoph Lameter
2006-09-20 19:51 ` [ckrm-tech] " Paul Menage
2006-09-20 19:51 ` Paul Menage
2006-09-20 18:37 ` Peter Zijlstra
2006-09-20 18:37 ` Peter Zijlstra
2006-09-20 18:57 ` Rohit Seth
2006-09-20 18:57 ` Rohit Seth
2006-09-20 13:06 ` [Devel] " Cedric Le Goater
2006-09-20 16:45 ` Rohit Seth
2006-09-20 16:25 ` Christoph Lameter
2006-09-20 16:44 ` Nick Piggin
2006-09-20 16:48 ` Christoph Lameter
2006-09-20 17:07 ` Nick Piggin
2006-09-20 17:12 ` Christoph Lameter
2006-09-20 22:27 ` Paul Jackson
2006-09-20 22:59 ` Christoph Lameter
2006-09-20 17:26 ` Rohit Seth
2006-09-20 17:37 ` [ckrm-tech] " Paul Menage
2006-09-20 17:38 ` Christoph Lameter
2006-09-20 17:42 ` [ckrm-tech] " Paul Menage
2006-09-20 18:07 ` Rohit Seth
2006-09-20 19:51 ` Christoph Lameter
2006-09-20 20:06 ` Paul Jackson
2006-09-20 22:58 ` Paul Jackson
2006-09-20 23:02 ` Christoph Lameter
2006-09-20 23:33 ` Rohit Seth
2006-09-20 23:36 ` Christoph Lameter
2006-09-20 23:39 ` Rohit Seth
2006-09-20 23:51 ` Christoph Lameter
2006-09-21 0:05 ` Paul Jackson
2006-09-21 0:09 ` [ckrm-tech] " Paul Menage
2006-09-20 23:26 ` Rohit Seth
2006-09-20 23:31 ` Christoph Lameter
2006-09-21 0:51 ` [Lhms-devel] " KAMEZAWA Hiroyuki
2006-09-21 1:33 ` KAMEZAWA Hiroyuki
2006-09-21 1:36 ` [ckrm-tech] " Paul Menage
2006-09-20 22:51 ` Paul Jackson
2006-09-20 23:01 ` Christoph Lameter
2006-09-20 23:22 ` Rohit Seth
2006-09-20 23:45 ` Paul Jackson
2006-09-20 17:34 ` Alan Cox
2006-09-20 17:15 ` Christoph Lameter
2006-09-20 17:48 ` Alan Cox
2006-09-20 17:35 ` Christoph Lameter
2006-09-20 23:29 ` Paul Jackson
2006-09-20 23:18 ` Paul Jackson
2006-09-20 17:30 ` [ckrm-tech] " Paul Menage
2006-09-20 23:37 ` Paul Jackson
2006-09-20 23:53 ` Paul Menage
2006-09-21 0:07 ` Paul Jackson
2006-09-21 0:10 ` Paul Menage
2006-09-21 0:17 ` Paul Jackson
2006-09-20 18:34 ` Chandra Seetharaman
2006-09-20 18:43 ` Paul Menage
2006-09-20 18:54 ` Chandra Seetharaman
2006-09-20 19:25 ` Paul Menage
2006-09-20 19:35 ` Chandra Seetharaman
2006-09-20 19:57 ` Paul Menage
2006-09-21 0:30 ` Chandra Seetharaman
2006-09-21 0:33 ` Paul Jackson
2006-09-21 0:50 ` Chandra Seetharaman
2006-09-21 0:34 ` Paul Menage
2006-09-20 20:49 ` Paul Jackson
2006-09-20 20:51 ` Paul Menage
2006-09-20 21:04 ` Paul Jackson
[not found] ` <6599ad830609201605s2fc1ccbdse31e3e60a50d56bc@mail.google.com>
2006-09-20 23:54 ` Paul Jackson
2006-09-20 23:57 ` Paul Menage
2006-09-21 0:09 ` Paul Jackson
2006-09-21 1:25 ` Chandra Seetharaman
2006-09-21 0:45 ` Chandra Seetharaman
2006-09-21 0:51 ` Paul Jackson
2006-09-20 19:55 ` Christoph Lameter
2006-09-20 20:27 ` Paul Jackson
2006-09-21 17:02 ` Srivatsa Vaddagiri
2006-09-21 19:29 ` Paul Jackson
2006-09-20 20:11 ` Paul Jackson
2006-09-20 20:17 ` Paul Menage
2006-09-20 19:52 ` Christoph Lameter
2006-09-21 0:31 ` Chandra Seetharaman
2006-09-21 0:36 ` Paul Jackson
2006-09-21 0:42 ` Paul Menage
2006-09-21 1:45 ` Chandra Seetharaman
2006-09-21 1:52 ` Paul Menage
2006-09-21 20:06 ` Chandra Seetharaman
2006-09-21 20:10 ` Paul Menage
2006-09-21 21:44 ` Chandra Seetharaman
2006-09-21 22:09 ` Paul Menage
2006-09-22 0:06 ` Chandra Seetharaman
2006-09-22 0:13 ` Paul Menage
2006-09-22 0:55 ` Chandra Seetharaman
2006-09-22 0:24 ` Paul Jackson
2006-09-22 0:57 ` Chandra Seetharaman
2006-09-22 1:11 ` Paul Jackson
2006-09-21 21:59 ` Paul Jackson
2006-09-21 22:07 ` Paul Menage
2006-09-21 22:48 ` Paul Jackson
2006-09-20 19:09 ` Chandra Seetharaman
2006-09-27 19:50 ` Chandra Seetharaman
2006-09-27 21:28 ` Rohit Seth
2006-09-27 22:24 ` Chandra Seetharaman
2006-09-28 8:01 ` Balbir Singh
2006-09-28 18:31 ` Rohit Seth
2006-09-28 21:53 ` Balbir Singh [this message]
2006-09-29 0:22 ` Rohit Seth
2006-09-28 18:12 ` Rohit Seth
2006-09-28 20:23 ` Chandra Seetharaman
2006-09-28 21:38 ` Rohit Seth
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=451C4468.4010009@in.ibm.com \
--to=balbir@in.ibm.com \
--cc=ckrm-tech@lists.sourceforge.net \
--cc=devel@openvz.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rohitseth@google.com \
--cc=sekharan@us.ibm.com \
/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.