Messages in this thread | | | Date | Tue, 19 Jun 2012 16:58:15 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 2/2] memcg: clean up force_empty_list() return value check |
| |
On Mon, 18 Jun 2012 20:59:44 +0900 Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
> > By commit "memcg: move charges to root cgroup if use_hierarchy=0" > mem_cgroup_move_parent() only returns -EBUSY, -EINVAL. > So, we can remove -ENOMEM and -EINTR checks. > > Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> > --- > mm/memcontrol.c | 5 ----- > 1 files changed, 0 insertions(+), 5 deletions(-) > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index cf8a0f6..726b7c6 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -3847,8 +3847,6 @@ static int mem_cgroup_force_empty_list(struct mem_cgroup *memcg, > pc = lookup_page_cgroup(page); > > ret = mem_cgroup_move_parent(page, pc, memcg, GFP_KERNEL); > - if (ret == -ENOMEM || ret == -EINTR) > - break; > > if (ret == -EBUSY || ret == -EINVAL) {
This looks a bit fragile - if mem_cgroup_move_parent() is later changed (intentionally or otherwise!) to return -Esomethingelse then mem_cgroup_force_empty_list() will subtly break. Why not just do
if (ret < 0)
here?
| |