lkml.org 
[lkml]   [2010]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] Shared page accounting for memory cgroup
On Mon, 4 Jan 2010 06:20:31 +0530
Balbir Singh <balbir@linux.vnet.ibm.com> wrote:

> * KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2010-01-04 09:35:28]:
>
> > On Mon, 4 Jan 2010 05:37:52 +0530
> > Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
> >
> > > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> [2010-01-04 08:51:08]:
> > >
> > > > On Tue, 29 Dec 2009 23:57:43 +0530
> > > > Balbir Singh <balbir@linux.vnet.ibm.com> wrote:
> > > >
> > > > > Hi, Everyone,
> > > > >
> > > > > I've been working on heuristics for shared page accounting for the
> > > > > memory cgroup. I've tested the patches by creating multiple cgroups
> > > > > and running programs that share memory and observed the output.
> > > > >
> > > > > Comments?
> > > >
> > > > Hmm? Why we have to do this in the kernel ?
> > > >
> > >
> > > For several reasons that I can think of
> > >
> > > 1. With task migration changes coming in, getting consistent data free of races
> > > is going to be hard.
> >
> > Hmm, Let's see real-worlds's "ps" or "top" command. Even when there are no guarantee
> > of error range of data, it's still useful.
>
> Yes, my concern is this
>
> 1. I iterate through tasks and calculate RSS
> 2. I look at memory.usage_in_bytes
>
> If the time in user space between 1 and 2 is large I get very wrong
> results, specifically if the workload is changing its memory usage
> drastically.. no?
>
No. If it takes long time, locking fork()/exit() for such long time is the bigger
issue.
I recommend you to add memacct subsystem to sum up RSS of all processes's RSS counting
under a cgroup. Althoght it may add huge costs in page fault path but implementation
will be very simple and will not hurt realtime ops.
There will be no terrible race, I guess.

Thanks,
-Kame



\
 
 \ /
  Last update: 2010-01-06 05:09    [from the cache]
©2003-2011 Jasper Spaans