From: Johannes Weiner <hannes@cmpxchg.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Michal Hocko <mhocko@suse.cz>, Li Zefan <lizf@cn.fujitsu.com>,
linux-mm@kvack.org, cgroups@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [patch 2/2] mm: memcg: count pte references from every member of the reclaimed hierarchy
Date: Fri, 27 Apr 2012 01:48:19 +0200 [thread overview]
Message-ID: <20120426234819.GB1788@cmpxchg.org> (raw)
In-Reply-To: <20120426143729.10f672ae.akpm@linux-foundation.org>
On Thu, Apr 26, 2012 at 02:37:29PM -0700, Andrew Morton wrote:
> On Tue, 24 Apr 2012 21:35:44 +0200
> Johannes Weiner <hannes@cmpxchg.org> wrote:
> > --- a/include/linux/memcontrol.h
> > +++ b/include/linux/memcontrol.h
> > @@ -78,6 +78,7 @@ extern void mem_cgroup_uncharge_cache_page(struct page *page);
> >
> > extern void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask,
> > int order);
> > +bool __mem_cgroup_same_or_subtree(const struct mem_cgroup *, struct mem_cgroup *);
>
> I dunno about you guys, but this practice of omitting the names of the
> arguments in the declaration drives me bats. It really does throw away
> a *lot* of information. It looks OK when one is initially reading the
> code, but when I actually go in there and do some work on the code, it
> makes things significantly harder.
Humm, I only look at headers to roughly gauge an API, and jump to the
definitions anyway when figuring out how to actually use them (because
of the documentation, and because function names can be deceiving).
But I don't mind adding the names, so I'll try to remember it.
> > int task_in_mem_cgroup(struct task_struct *task, const struct mem_cgroup *memcg);
> >
> > extern struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page);
> > @@ -91,10 +92,13 @@ static inline
> > int mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *cgroup)
> > {
> > struct mem_cgroup *memcg;
> > + int match;
> > +
> > rcu_read_lock();
> > memcg = mem_cgroup_from_task(rcu_dereference((mm)->owner));
> > + match = memcg && __mem_cgroup_same_or_subtree(cgroup, memcg);
> > rcu_read_unlock();
> > - return cgroup == memcg;
> > + return match;
> > }
>
> mm_match_cgroup() really wants to return a bool type, no?
---
From: Johannes Weiner <hannes@cmpxchg.org>
Subject: [patch] mm: memcg: clean up mm_match_cgroup() signature
It really should return a boolean for match/no match. And since it
takes a memcg, not a cgroup, fix that parameter name as well.
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
---
include/linux/memcontrol.h | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index 76f9d9b..d3038a9 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -89,14 +89,14 @@ extern struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg);
extern struct mem_cgroup *mem_cgroup_from_cont(struct cgroup *cont);
static inline
-int mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *cgroup)
+bool mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *memcg)
{
- struct mem_cgroup *memcg;
- int match;
+ struct mem_cgroup *task_memcg;
+ bool match;
rcu_read_lock();
- memcg = mem_cgroup_from_task(rcu_dereference((mm)->owner));
- match = memcg && __mem_cgroup_same_or_subtree(cgroup, memcg);
+ task_memcg = mem_cgroup_from_task(rcu_dereference((mm)->owner));
+ match = task_memcg && __mem_cgroup_same_or_subtree(memcg, task_memcg);
rcu_read_unlock();
return match;
}
@@ -281,10 +281,10 @@ static inline struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm
return NULL;
}
-static inline int mm_match_cgroup(struct mm_struct *mm,
+static inline bool mm_match_cgroup(struct mm_struct *mm,
struct mem_cgroup *memcg)
{
- return 1;
+ return true;
}
static inline int task_in_mem_cgroup(struct task_struct *task,
--
1.7.7.6
--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2012-04-26 23:48 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-24 19:35 [patch 1/2] kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite Johannes Weiner
2012-04-24 19:35 ` [patch 2/2] mm: memcg: count pte references from every member of the reclaimed hierarchy Johannes Weiner
2012-04-25 3:52 ` Konstantin Khlebnikov
2012-04-26 21:37 ` Andrew Morton
2012-04-26 23:48 ` Johannes Weiner [this message]
2012-04-27 8:10 ` Michal Hocko
-- strict thread matches above, loose matches on Subject: below --
2012-02-28 14:14 [patch 1/2] kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite Johannes Weiner
2012-02-28 14:14 ` [patch 2/2] mm: memcg: count pte references from every member of the reclaimed hierarchy Johannes Weiner
2012-02-28 15:46 ` Konstantin Khlebnikov
2012-02-29 0:39 ` KAMEZAWA Hiroyuki
2012-02-29 2:02 ` Johannes Weiner
2012-02-29 3:08 ` KAMEZAWA Hiroyuki
2012-03-14 14:25 ` Michal Hocko
2012-03-14 16:21 ` Johannes Weiner
2012-03-14 17:53 ` Michal Hocko
2012-03-14 17:54 ` Michal Hocko
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=20120426234819.GB1788@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=khlebnikov@openvz.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizf@cn.fujitsu.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