From: Tejun Heo <tj@kernel.org>
To: Michal Hocko <mhocko@suse.cz>
Cc: Johannes Weiner <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: Tue, 11 Jun 2013 00:44:04 -0700 [thread overview]
Message-ID: <20130611074404.GE22530@mtj.dyndns.org> (raw)
In-Reply-To: <20130611072743.GB24031@dhcp22.suse.cz>
On Tue, Jun 11, 2013 at 09:27:43AM +0200, Michal Hocko wrote:
> .
> .
> .
> A (cached=E)
> /|\____________
> / | \
> B D (cached=E) F<
> / | \
> C< E G
> ^
> removed
>
> * D level cache - nobody left for either approach approach
> * A level is
> - F for next-to-visit
> - C for last_visited
>
> You have to get up the hierarchy and handle root cgroup as a special
> case for !root->use_hierarchy. Once you have non-NULL new cache the it
> can be propagated without a new search (which I haven't realized when
> working on this approach the last time - not that it would safe some
> code in the end).
>
> Makes sense?
I don't think we're talking about the same thing. I wasn't talking
about skipping walking up the hierarchy (differently depending on
use_hierarchy of course) when E is removed. I was talking about
skipped cleaning E's cache when removing E as it's guaranteed to be
empty by then. The difference between caching the last and next one
is that if we put the last one in the cache, E's cache could be
pointing to itself and needs to be scanned.
Not a big difference either way but if you combine that with the need
for special rewinding which will basically come down to traversing the
sibling list again, pointing to the next entry is just easier.
Anyways, I think we're getting too deep into details but one more
thing, what do you mean by "non-NULL new cache"?
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>
next prev parent reply other threads:[~2013-06-11 7: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
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
2013-06-05 14:56 ` Michal Hocko
[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 [this message]
[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-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=20130611074404.GE22530@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).