From: Balbir Singh <balbir@linux.vnet.ibm.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: Balbir Singh <bsingharora@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC 0/3] Implementation of cgroup isolation
Date: Thu, 31 Mar 2011 15:31:36 +0530 [thread overview]
Message-ID: <20110331100136.GO2879@balbir.in.ibm.com> (raw)
In-Reply-To: <20110330081853.GC15394@tiehlicka.suse.cz>
* Michal Hocko <mhocko@suse.cz> [2011-03-30 10:18:53]:
> On Tue 29-03-11 21:23:10, Balbir Singh wrote:
> > On 03/28/11 16:33, 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 ?
> > > What is the problem ?
> > > Why it's not a problem of configuration ?
> > > IIUC, you can put all logins to some cgroup by using cgroupd/libgcgroup.
> > >
> >
> > I agree with Kame, I am still at loss in terms of understand the use
> > case, I should probably see the rest of the patches
>
> OK, it looks that I am really bad at explaining the usecase. Let's try
> it again then (hopefully in a better way).
>
> Consider a service which serves requests based on the in-memory
> precomputed or preprocessed data.
> Let's assume that getting data into memory is rather costly operation
> which considerably increases latency of the request processing. Memory
> access can be considered random from the system POV because we never
> know which requests will come from outside.
> This workflow will benefit from having the memory resident as long as
> and as much as possible because we have higher chances to be used more
> often and so the initial costs would pay off.
> Why is mlock not the right thing to do here? Well, if the memory would
> be locked and the working set would grow (again this depends on the
> incoming requests) then the application would have to unlock some
> portions of the memory or to risk OOM because it basically cannot
> overcommit.
> On the other hand, if the memory is not mlocked and there is a global
> memory pressure we can have some part of the costly memory swapped or
> paged out which will increase requests latencies. If the application is
> placed into an isolated cgroup, though, the global (or other cgroups)
> activity doesn't influence its cgroup thus the working set of the
> application.
I think one important aspect is what percentage of the memory needs to
be isolated/locked? If you expect really large parts, then we are in
trouble, unless we are aware of the exact requirements for memory and
know what else will run on the system.
> If we compare that to mlock we will benefit from per-group reclaim when
> we get over the limit (or soft limit). So we do not start evicting the
> memory unless somebody makes really pressure on the _application_.
> Cgroup limits would, of course, need to be selected carefully.
>
> There might be other examples when simply kernel cannot know which
> memory is important for the process and the long unused memory is not
> the ideal choice.
>
There are other watermark based approaches that would work better,
given that memory management is already complicated by topology, zones
and we have non-reclaimable memory being used in the kernel on behalf
of applications. I am not ruling out a solution, just sharing ideas.
NOTE: In the longer run, we want to account for kernel usage and look
at potential reclaim of slab pages.
--
Three Cheers,
Balbir
--
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-31 10:02 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-28 9:39 [RFC 0/3] Implementation of cgroup isolation 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
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 [this message]
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=20110331100136.GO2879@balbir.in.ibm.com \
--to=balbir@linux.vnet.ibm.com \
--cc=bsingharora@gmail.com \
--cc=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;
as well as URLs for NNTP newsgroup(s).