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>