On Fri, May 13, 2011 at 08:50:27AM +0900, KAMEZAWA Hiroyuki wrote: > On Thu, 12 May 2011 16:53:54 +0200 > Johannes Weiner <hannes@xxxxxxxxxxx> wrote: > > > The reclaim code has a single predicate for whether it currently > > reclaims on behalf of a memory cgroup, as well as whether it is > > reclaiming from the global LRU list or a memory cgroup LRU list. > > > > Up to now, both cases always coincide, but subsequent patches will > > change things such that global reclaim will scan memory cgroup lists. > > > > This patch adds a new predicate that tells global reclaim from memory > > cgroup reclaim, and then changes all callsites that are actually about > > global reclaim heuristics rather than strict LRU list selection. > > > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> > > > Hmm, isn't it better to merge this to patches where the meaning of > new variable gets clearer ? I apologize for the confusing order. I am going to merge them. > > mm/vmscan.c | 96 ++++++++++++++++++++++++++++++++++------------------------ > > 1 files changed, 56 insertions(+), 40 deletions(-) > > > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > index f6b435c..ceeb2a5 100644 > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -104,8 +104,12 @@ struct scan_control { > > */ > > reclaim_mode_t reclaim_mode; > > > > - /* Which cgroup do we reclaim from */ > > - struct mem_cgroup *mem_cgroup; > > + /* > > + * The memory cgroup we reclaim on behalf of, and the one we > > + * are currently reclaiming from. > > + */ > > + struct mem_cgroup *memcg; > > + struct mem_cgroup *current_memcg; > > > > I wonder if you avoid renaming exisiting one, the patch will > be clearer... I renamed it mostly because I thought current_mem_cgroup too long. It's probably best if both get more descriptive names. > > @@ -154,16 +158,24 @@ static LIST_HEAD(shrinker_list); > > static DECLARE_RWSEM(shrinker_rwsem); > > > > #ifdef CONFIG_CGROUP_MEM_RES_CTLR > > -#define scanning_global_lru(sc) (!(sc)->mem_cgroup) > > +static bool global_reclaim(struct scan_control *sc) > > +{ > > + return !sc->memcg; > > +} > > +static bool scanning_global_lru(struct scan_control *sc) > > +{ > > + return !sc->current_memcg; > > +} > > > Could you add comments ? Yes, I will. Thanks for your input! -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx 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@xxxxxxxxx"> email@xxxxxxxxx </a>