Re: [PATCH 1/2] mm/memcontrol.c: remove meaningless while loop in mem_cgroup_iter()

From: Michal Hocko
Date: Tue Apr 22 2014 - 07:48:54 EST


On Tue 22-04-14 18:58:11, Jianyu Zhan wrote:
[...]
> This reminds me of my draft edition of this patch, I specifically handle
> this case as:
>
> if (reclaim) {
> if (!memcg ) {
> iter->generation++;
> if (!prev) {
> memcg = root;
> mem_cgroup_iter_update(iter, NULL, memcg, root, seq);
> goto out_unlock:
> }
> }
> mem_cgroup_iter_update(iter, last_visited, memcg, root,
> seq);
> if (!prev && memcg)
> reclaim->generation = iter->generation;
> }
>
> This is literally manual unwinding the second while loop, and thus omit
> the while loop,
> to save a mem_cgroup_iter_update() and a mem_cgroup_iter_update()
>
> But it maybe a bit hard to read.

Dunno, this particular case is more explicit but it is also uglier so I
do not think this is an overall improvement. I would rather keep the
current state unless the change either simplifies the generated code
or it is much better to read.

Thanks!
--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/