cgroups.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Michal Hocko <mhocko@suse.cz>
Cc: hannes@cmpxchg.org, bsingharora@gmail.com,
	cgroups@vger.kernel.org, linux-mm@kvack.org, lizefan@huawei.com
Subject: Re: [PATCH 3/3] memcg: simplify mem_cgroup_reclaim_iter
Date: Wed, 5 Jun 2013 01:44:56 -0700	[thread overview]
Message-ID: <20130605084456.GA7990@mtj.dyndns.org> (raw)
In-Reply-To: <20130605083628.GE15997@dhcp22.suse.cz>

Hey,

On Wed, Jun 05, 2013 at 10:36:28AM +0200, Michal Hocko wrote:
> > It's still bound, no?  Each live memcg can only keep limited number of
> > cgroups cached, right?
> 
> Assuming that they are cleaned up when the memcg is offlined then yes.

Oh yeah, that's just me being forgetful.  We definitely need to clean
it up on offlining.

> > Do you think that the number can actually grow harmful?  Would you be
> > kind enough to share some calculations with me?
> 
> Well, each intermediate node might pin up-to NR_NODES * NR_ZONES *
> NR_PRIORITY groups. You would need a big hierarchy to have chance to
> cache different groups so that it starts matter.

Yeah, NR_NODES can be pretty big.  I'm still not sure whether this
would be a problem in practice but yeah it can grow pretty big.

> And do what? css_try_get to find out whether the cached memcg is still

Hmmm? It can just look at the timestamp and if too old do

	cached = xchg(&iter->hint, NULL);
	if (cached)
		css_put(cached);

> alive. Sorry, I do not like it at all. I find it much better to clean up
> when the group is removed. Because doing things asynchronously just
> makes it more obscure. There is no reason to do such a thing on the
> background when we know _when_ to do the cleanup and that is definitely
> _not a hot path_.

Yeah, that's true.  I just wanna avoid the barrier dancing.  Only one
of the ancestors can cache a memcg, right?  Walking up the tree
scanning for cached ones and putting them should work?  Is that what
you were suggesting?

Thanks.

-- 
tejun

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2013-06-05  8:44 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-04  0:44 [PATCHSET] memcg: fix and reimplement iterator Tejun Heo
     [not found] ` <1370306679-13129-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-04  0:44   ` [PATCH 1/3] memcg: fix subtle memory barrier bug in mem_cgroup_iter() Tejun Heo
2013-06-04 13:03     ` Michal Hocko
     [not found]       ` <20130604130336.GE31242-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-06-04 13:58         ` Johannes Weiner
2013-06-04 15:29           ` Michal Hocko
2013-06-04  0:44   ` [PATCH 2/3] memcg: restructure mem_cgroup_iter() Tejun Heo
     [not found]     ` <1370306679-13129-3-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-04 13:21       ` Michal Hocko
2013-06-04 20:51         ` Tejun Heo
2013-06-04  0:44   ` [PATCH 3/3] memcg: simplify mem_cgroup_reclaim_iter Tejun Heo
     [not found]     ` <1370306679-13129-4-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2013-06-04 13:18       ` Michal Hocko
     [not found]         ` <20130604131843.GF31242-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-06-04 20:50           ` Tejun Heo
2013-06-04 21:28             ` Michal Hocko
2013-06-04 21:55               ` Tejun Heo
2013-06-05  7:30                 ` Michal Hocko
2013-06-05  8:20                   ` Tejun Heo
2013-06-05  8:36                     ` Michal Hocko
2013-06-05  8:44                       ` Tejun Heo [this message]
2013-06-05  8:55                         ` Michal Hocko
2013-06-05  9:03                           ` Tejun Heo
     [not found]                     ` <20130605082023.GG7303-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-05 14:39                       ` Johannes Weiner
     [not found]                         ` <20130605143949.GQ15576-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2013-06-05 14:50                           ` Johannes Weiner
2013-06-05 17:22                           ` Tejun Heo
     [not found]                             ` <20130605172212.GA10693-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-05 19:45                               ` Johannes Weiner
     [not found]                                 ` <20130605194552.GI15721-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2013-06-05 20:06                                   ` Tejun Heo
2013-06-05 21:17                                     ` Johannes Weiner
2013-06-05 22:20                                       ` Tejun Heo
     [not found]                                         ` <20130605222021.GL10693-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-05 22:27                                           ` Tejun Heo
2013-06-06 11:50                                             ` Michal Hocko
2013-06-07  0:52                                               ` Tejun Heo
     [not found]                                                 ` <20130607005242.GB16160-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-06-07  7:37                                                   ` Michal Hocko
2013-06-07 23:25                                                     ` Tejun Heo
     [not found]                                                       ` <20130607232557.GL14781-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-10  8:02                                                         ` Michal Hocko
2013-06-10 19:54                                                           ` Tejun Heo
2013-06-10 20:48                                                             ` Michal Hocko
     [not found]                                                               ` <20130610204801.GA21003-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-06-10 23:13                                                                 ` Tejun Heo
2013-06-11  7:27                                                                   ` Michal Hocko
2013-06-11  7:44                                                                     ` Tejun Heo
     [not found]                                                                       ` <20130611074404.GE22530-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-11  7:55                                                                         ` Michal Hocko
2013-06-11  8:00                                                                           ` Tejun Heo
2013-06-05 14:56                         ` Michal Hocko
2013-06-04 21:40             ` Johannes Weiner
     [not found]               ` <20130604214050.GP15576-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2013-06-04 21:49                 ` Tejun Heo

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=20130605084456.GA7990@mtj.dyndns.org \
    --to=tj@kernel.org \
    --cc=bsingharora@gmail.com \
    --cc=cgroups@vger.kernel.org \
    --cc=hannes@cmpxchg.org \
    --cc=linux-mm@kvack.org \
    --cc=lizefan@huawei.com \
    --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).