Re: [PATCH] memcg: drain all stocks for the cgroup before read usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 5 Sep 2011 08:59:13 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:

> On Sun,  4 Sep 2011 04:15:33 +0300
> "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> wrote:
> 
> > From: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx>
> > 
> > Currently, mem_cgroup_usage() for non-root cgroup returns usage
> > including stocks.
> > 
> > Let's drain all socks before read resource counter value. It makes
> > memory{,.memcg}.usage_in_bytes and memory.stat consistent.
> > 
> > Signed-off-by: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>
> 
> Hmm. This seems costly to me. 
> 
> If a user chesk usage_in_bytes in a memcg once per 1sec, 
> the kernel will call schedule_work on cpus once per 1sec.
> So, IMHO, I don't like this.
> 
I agree.

We discussed a similar topic on the thread https://lkml.org/lkml/2011/3/18/212.
And, we added the memory.txt:
---
5.5 usage_in_bytes

For efficiency, as other kernel components, memory cgroup uses some optimization
to avoid unnecessary cacheline false sharing. usage_in_bytes is affected by the
method and doesn't show 'exact' value of memory(and swap) usage, it's an fuzz
value for efficient access. (Of course, when necessary, it's synchronized.)
If you want to know more exact memory usage, you should use RSS+CACHE(+SWAP)
value in memory.stat(see 5.2).
---

Thanks,
Daisuke Nishimura.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  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@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]