From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC 0/3] Implementation of cgroup isolation
Date: Tue, 29 Mar 2011 09:09:24 +0900 [thread overview]
Message-ID: <20110329090924.6a565ef3.kamezawa.hiroyu@jp.fujitsu.com> (raw)
In-Reply-To: <20110328114430.GE5693@tiehlicka.suse.cz>
On Mon, 28 Mar 2011 13:44:30 +0200
Michal Hocko <mhocko@suse.cz> wrote:
> On Mon 28-03-11 20:03:32, KAMEZAWA Hiroyuki wrote:
> > On Mon, 28 Mar 2011 11:39:57 +0200
> > Michal Hocko <mhocko@suse.cz> wrote:
> [...]
> >
> > Isn't it the same result with the case where no cgroup is used ?
>
> Yes and that is the point of the patchset. Memory cgroups will not give
> you anything else but the top limit wrt. to the global memory activity.
>
> > What is the problem ?
>
> That we cannot prevent from paging out memory of process(es), even though
> we have intentionaly isolated them in a group (read as we do not have
> any other possibility for the isolation), because of unrelated memory
> activity.
>
Because the design of memory cgroup is not for "defending" but for
"never attack some other guys".
> > Why it's not a problem of configuration ?
> > IIUC, you can put all logins to some cgroup by using cgroupd/libgcgroup.
>
> Yes, but this still doesn't bring the isolation.
>
Please explain this more.
Why don't you move all tasks under /root/default <- this has some limit ?
> > Maybe you just want "guarantee".
> > At 1st thought, this approarch has 3 problems. And memcg is desgined
> > never to prevent global vm scans,
> >
> > 1. This cannot be used as "guarantee". Just a way for "don't steal from me!!!"
> > This just implements a "first come, first served" system.
> > I guess this can be used for server desgines.....only with very very careful play.
> > If an application exits and lose its memory, there is no guarantee anymore.
>
> Yes, but once it got the memory and it needs to have it or benefits from
> having it resindent what-ever happens around then there is no other
> solution than mlocking the memory which is not ideal solution all the
> time as I have described already.
>
Yes, then, almost all mm guys answer has been "please use mlock".
> >
> > 2. Even with isolation, a task in memcg can be killed by OOM-killer at
> > global memory shortage.
>
> Yes it can but I think this is a different problem. Once you are that
> short of memory you can hardly ask from any guarantees.
> There is no 100% guarantee about anything in the system.
>
I think you should put tasks in root cgroup to somewhere. It works perfect
against OOM. And if memory are hidden by isolation, OOM will happen easier.
> >
> > 3. it seems this will add more page fragmentation if implemented poorly, IOW,
> > can this be work with compaction ?
>
> Why would it add any fragmentation. We are compacting memory based on
> the pfn range scanning rather than walking global LRU list, aren't we?
>
Please forget, I misunderstood.
> > I think of other approaches.
> >
> > 1. cpuset+nodehotplug enhances.
> > At boot, hide most of memory from the system by boot option.
> > You can rename node-id of "all unused memory" and create arbitrary nodes
> > if the kernel has an interface. You can add a virtual nodes and move
> > pages between nodes by renaming it.
> >
> > This will allow you to create a safe box dynamically.
>
> This sounds as it requires a completely new infrastructure for many
> parts of VM code.
>
Not so many parts, I guess. I think I can write a prototype in a week,
if I have time.
> > If you move pages in
> > the order of MAX_ORDER, you don't add any fragmentation.
> > (But with this way, you need to avoid tasks in root cgrou, too.)
> >
> >
> > 2. allow a mount option to link ROOT cgroup's LRU and add limit for
> > root cgroup. Then, softlimit will work well.
> > (If softlimit doesn't work, it's bug. That will be an enhancement point.)
>
> So you mean that the root cgroup would be a normal group like any other?
>
If necessary. Root cgroup has no limit/LRU/etc...just for gaining performance.
If admin can adimit the cost (2-5% now?), I think we can add knobs as boot
option or some.
Anyway, to work softlimit etc..in ideal way, admin should put all tasks into
some memcg which has limits.
Thanks,
-Kame
--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-03-29 0:15 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-28 9:39 Michal Hocko
2011-03-28 9:39 ` [RFC 1/3] Add mem_cgroup->isolated and configuration knob Michal Hocko
2011-03-28 9:39 ` [RFC 2/3] Implement isolated LRU cgroups Michal Hocko
2011-03-28 9:40 ` [RFC 3/3] Do not shrink isolated groups from the global reclaim Michal Hocko
2011-03-28 11:03 ` [RFC 0/3] Implementation of cgroup isolation KAMEZAWA Hiroyuki
2011-03-28 11:44 ` Michal Hocko
2011-03-29 0:09 ` KAMEZAWA Hiroyuki [this message]
2011-03-29 7:32 ` Michal Hocko
2011-03-29 7:51 ` KAMEZAWA Hiroyuki
2011-03-29 8:59 ` Michal Hocko
2011-03-29 9:41 ` KAMEZAWA Hiroyuki
2011-03-29 11:18 ` Michal Hocko
2011-03-29 13:15 ` Zhu Yanhai
2011-03-29 13:42 ` Michal Hocko
2011-03-29 14:02 ` Zhu Yanhai
2011-03-29 14:08 ` Zhu Yanhai
2011-03-30 7:42 ` Michal Hocko
2011-03-30 5:32 ` Ying Han
2011-03-29 15:53 ` Balbir Singh
2011-03-30 8:18 ` Michal Hocko
2011-03-30 17:59 ` Ying Han
2011-03-31 9:53 ` Michal Hocko
2011-03-31 18:10 ` Ying Han
2011-04-01 14:04 ` Michal Hocko
2011-03-31 10:01 ` Balbir Singh
2011-03-28 18:01 ` Ying Han
2011-03-29 0:12 ` KAMEZAWA Hiroyuki
2011-03-29 0:37 ` Ying Han
2011-03-29 0:47 ` KAMEZAWA Hiroyuki
2011-03-29 2:29 ` KAMEZAWA Hiroyuki
2011-03-29 3:02 ` Ying Han
2011-03-29 2:46 ` Ying Han
2011-03-29 2:45 ` KAMEZAWA Hiroyuki
2011-03-29 4:03 ` Ying Han
2011-03-29 7:53 ` Michal Hocko
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=20110329090924.6a565ef3.kamezawa.hiroyu@jp.fujitsu.com \
--to=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox