All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Zefan <lizefan@huawei.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Ying Han <yinghan@google.com>, Tejun Heo <htejun@gmail.com>,
	Glauber Costa <glommer@parallels.com>
Subject: Re: [RFC] rework mem_cgroup iterator
Date: Wed, 14 Nov 2012 09:55:08 +0800	[thread overview]
Message-ID: <50A2F9FC.5050303@huawei.com> (raw)
In-Reply-To: <1352820639-13521-1-git-send-email-mhocko@suse.cz>

On 2012/11/13 23:30, Michal Hocko wrote:
> Hi all,
> this patch set tries to make mem_cgroup_iter saner in the way how it
> walks hierarchies. css->id based traversal is far from being ideal as it
> is not deterministic because it depends on the creation ordering.
> 
> Diffstat looks promising but it is fair the say that the biggest cleanup is
> just css_get_next removal. The memcg code has grown a bit but I think it is
> worth the resulting outcome (the sanity ;)).
> 

So memcg won't use css id at all, right? Then we can remove the whole css_id
stuff, and that's quite a bunch of code.

> The first patch fixes a potential misbehaving which I haven't seen but the
> fix is needed for the later patches anyway. We could take it alone as well
> but I do not have any bug report to base the fix on.
> 
> The second patch replaces css_get_next by cgroup iterators which are
> scheduled for 3.8 in Tejun's tree and I depend on the following two patches:
> fe1e904c cgroup: implement generic child / descendant walk macros
> 7e187c6c cgroup: use rculist ops for cgroup->children
> 
> The third patch is an attempt for simplification of the mem_cgroup_iter. It
> basically removes all css usages to make the code easier. The next patch
> removes the big while(!memcg) loop around the iterating logic. It could have
> been folded into #3 but I rather have the rework separate from the code
> moving noise.
> 
> The last patch just removes css_get_next as there is no user for it any
> longer.
> 
> I am also thinking that leaf-to-root iteration makes more sense but this
> patch is not included in the series yet because I have to think some
> more about the justification.
> 
> So far I didn't get to testing but I am posting this early if everybody is
> OK with this change.
> 

--
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>

WARNING: multiple messages have this Message-ID (diff)
From: Li Zefan <lizefan@huawei.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: <linux-mm@kvack.org>, <linux-kernel@vger.kernel.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Ying Han <yinghan@google.com>, Tejun Heo <htejun@gmail.com>,
	Glauber Costa <glommer@parallels.com>
Subject: Re: [RFC] rework mem_cgroup iterator
Date: Wed, 14 Nov 2012 09:55:08 +0800	[thread overview]
Message-ID: <50A2F9FC.5050303@huawei.com> (raw)
In-Reply-To: <1352820639-13521-1-git-send-email-mhocko@suse.cz>

On 2012/11/13 23:30, Michal Hocko wrote:
> Hi all,
> this patch set tries to make mem_cgroup_iter saner in the way how it
> walks hierarchies. css->id based traversal is far from being ideal as it
> is not deterministic because it depends on the creation ordering.
> 
> Diffstat looks promising but it is fair the say that the biggest cleanup is
> just css_get_next removal. The memcg code has grown a bit but I think it is
> worth the resulting outcome (the sanity ;)).
> 

So memcg won't use css id at all, right? Then we can remove the whole css_id
stuff, and that's quite a bunch of code.

> The first patch fixes a potential misbehaving which I haven't seen but the
> fix is needed for the later patches anyway. We could take it alone as well
> but I do not have any bug report to base the fix on.
> 
> The second patch replaces css_get_next by cgroup iterators which are
> scheduled for 3.8 in Tejun's tree and I depend on the following two patches:
> fe1e904c cgroup: implement generic child / descendant walk macros
> 7e187c6c cgroup: use rculist ops for cgroup->children
> 
> The third patch is an attempt for simplification of the mem_cgroup_iter. It
> basically removes all css usages to make the code easier. The next patch
> removes the big while(!memcg) loop around the iterating logic. It could have
> been folded into #3 but I rather have the rework separate from the code
> moving noise.
> 
> The last patch just removes css_get_next as there is no user for it any
> longer.
> 
> I am also thinking that leaf-to-root iteration makes more sense but this
> patch is not included in the series yet because I have to think some
> more about the justification.
> 
> So far I didn't get to testing but I am posting this early if everybody is
> OK with this change.
> 


  parent reply	other threads:[~2012-11-14  1:55 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-13 15:30 [RFC] rework mem_cgroup iterator Michal Hocko
2012-11-13 15:30 ` Michal Hocko
2012-11-13 15:30 ` [RFC 1/5] memcg: synchronize per-zone iterator access by a spinlock Michal Hocko
2012-11-13 15:30   ` Michal Hocko
2012-11-14  0:03   ` Kamezawa Hiroyuki
2012-11-14  0:03     ` Kamezawa Hiroyuki
2012-11-13 15:30 ` [RFC 2/5] memcg: rework mem_cgroup_iter to use cgroup iterators Michal Hocko
2012-11-13 15:30   ` Michal Hocko
2012-11-13 16:14   ` Tejun Heo
2012-11-13 16:14     ` Tejun Heo
2012-11-14  8:51     ` Michal Hocko
2012-11-14  8:51       ` Michal Hocko
2012-11-14 18:52       ` Tejun Heo
2012-11-14 18:52         ` Tejun Heo
2012-11-15  9:51         ` Michal Hocko
2012-11-15  9:51           ` Michal Hocko
2012-11-15 14:47           ` Tejun Heo
2012-11-15 14:47             ` Tejun Heo
2012-11-15 15:12             ` Michal Hocko
2012-11-15 15:12               ` Michal Hocko
2012-11-15 15:31               ` Tejun Heo
2012-11-15 15:31                 ` Tejun Heo
2012-11-15 16:15                 ` Michal Hocko
2012-11-15 16:15                   ` Michal Hocko
2012-11-14  0:20   ` Kamezawa Hiroyuki
2012-11-14  0:20     ` Kamezawa Hiroyuki
2012-11-14 10:10     ` Michal Hocko
2012-11-14 10:10       ` Michal Hocko
2012-11-15  4:12       ` Kamezawa Hiroyuki
2012-11-15  4:12         ` Kamezawa Hiroyuki
2012-11-15  9:52         ` Michal Hocko
2012-11-15  9:52           ` Michal Hocko
2012-11-19 14:05       ` Michal Hocko
2012-11-19 14:05         ` Michal Hocko
2012-11-19 15:11   ` Michal Hocko
2012-11-19 15:11     ` Michal Hocko
2012-11-13 15:30 ` [RFC 3/5] memcg: simplify mem_cgroup_iter Michal Hocko
2012-11-13 15:30   ` Michal Hocko
2012-11-13 15:30 ` [RFC 4/5] memcg: clean up mem_cgroup_iter Michal Hocko
2012-11-13 15:30   ` Michal Hocko
2012-11-13 15:30 ` [RFC 5/5] cgroup: remove css_get_next Michal Hocko
2012-11-13 15:30   ` Michal Hocko
2012-11-14  0:13 ` [RFC] rework mem_cgroup iterator Kamezawa Hiroyuki
2012-11-14  0:13   ` Kamezawa Hiroyuki
2012-11-14  1:55 ` Li Zefan [this message]
2012-11-14  1:55   ` Li Zefan
2012-11-14  8:36   ` Michal Hocko
2012-11-14  8:36     ` Michal Hocko
2012-11-14 18:30     ` Tejun Heo
2012-11-14 18:30       ` Tejun Heo
2012-11-15  2:12   ` Kamezawa Hiroyuki
2012-11-15  2:12     ` Kamezawa Hiroyuki
2012-11-14 16:17 ` Glauber Costa
2012-11-14 16:17   ` Glauber Costa
2012-11-14  8:40   ` Michal Hocko
2012-11-14  8:40     ` Michal Hocko
2012-11-14 18:41   ` Tejun Heo
2012-11-14 18:41     ` Tejun Heo
2012-11-15  2:44     ` Glauber Costa
2012-11-15  2:44       ` Glauber Costa
2012-11-14 18:46       ` Tejun Heo
2012-11-14 18:46         ` 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=50A2F9FC.5050303@huawei.com \
    --to=lizefan@huawei.com \
    --cc=glommer@parallels.com \
    --cc=hannes@cmpxchg.org \
    --cc=htejun@gmail.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.cz \
    --cc=yinghan@google.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.