Re: [rfc patch 3/6] mm: memcg-aware global reclaim

From: KAMEZAWA Hiroyuki
Date: Thu May 12 2011 - 20:11:38 EST


On Thu, 12 May 2011 16:53:55 +0200
Johannes Weiner <hannes@xxxxxxxxxxx> wrote:

> A page charged to a memcg is linked to a lru list specific to that
> memcg. At the same time, traditional global reclaim is obvlivious to
> memcgs, and all the pages are also linked to a global per-zone list.
>
> This patch changes traditional global reclaim to iterate over all
> existing memcgs, so that it no longer relies on the global list being
> present.
>
> This is one step forward in integrating memcg code better into the
> rest of memory management. It is also a prerequisite to get rid of
> the global per-zone lru lists.
>


As I said, I don't want removing global reclaim until dirty_ratio support and
better softlimit algorithm, at least. Current my concern is dirty_ratio,
if you want to speed up, please help Greg and implement dirty_ratio first.

BTW, could you separete clean up code and your new logic ? 1st half of
codes seems to be just a clean up and seems nice. But , IIUC, someone
changed the arguments from chunk of params to be a flags....in some patch.
...
commit 75822b4495b62e8721e9b88e3cf9e653a0c85b73
Author: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 23 15:56:38 2009 -0700

memory controller: soft limit refactor reclaim flags

Refactor mem_cgroup_hierarchical_reclaim()

Refactor the arguments passed to mem_cgroup_hierarchical_reclaim() into
flags, so that new parameters don't have to be passed as we make the
reclaim routine more flexible

...

Balbir ? Both are ok to me, please ask him.


And hmm...

+ do {
+ mem_cgroup_hierarchy_walk(root, &mem);
+ sc->current_memcg = mem;
+ do_shrink_zone(priority, zone, sc);
+ } while (mem != root);

This move hierarchy walk from memcontrol.c to vmscan.c ?

About moving hierarchy walk, I may say okay...because my patch does this, too.

But....doesn't this reclaim too much memory if hierarchy is very deep ?
Could you add some 'quit' path ?


Thanks,
-Kame

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