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/