Re: [patch 0/8] mm: memcg naturalization -rc2

Hiroyuki Kamezawa
2011-06-02T12:59:43Z

2011/6/2 Johannes Weiner <hannes@cmpxchg.org>:
> On Thu, Jun 02, 2011 at 06:06:51PM +0900, Hiroyuki Kamezawa wrote:
>> 2011/6/2 Johannes Weiner <hannes@cmpxchg.org>:
>> > On Thu, Jun 02, 2011 at 08:52:47AM +0900, Hiroyuki Kamezawa wrote:
>> >>   Hmm, how about splitting patch 2/8 into small patches and see what happens in
>> >>   3.2 or 3.3 ? While that, we can make softlimit works better.
>> >>   (and once we do 2/8, our direction will be fixed to the direction to
>> >> remove global LRU.)
>> >
>> > Do you have specific parts in mind that could go stand-alone?
>> >
>> > One thing I can think of is splitting up those parts:
>> >
>> >  1. move /target/ reclaim to generic code
>> >
>> >  2. convert /global/ reclaim from global lru to hierarchy reclaim
>> >     including root_mem_cgroup
>>
>> Hmm, at brief look
>> patch 2/8
>>  - hierarchy walk rewrite code should be stand alone and can be merged
>> 1st, as clean-up
>
> You mean introducing mem_cgroup_hierarchy_walk() and make use of it in
> mem_cgroup_hierarchical_reclaim() as a first step?
>

yes. I like to cut out a patch from a series and forward it to mainline,
and make the series smaller. in some way...

>>  - root cgroup LRU handling was required for performance. I think we
>> removed tons of
>>   atomic ops and can remove that special handling personally. But this change of
>>   root cgroup handling should be in separate patch. with performance report.
>
> I disagree.
>
> With view on the whole patch series, linking ungrouped process pages
> to the root_mem_cgroup is traded against
>
>   1. linking ungrouped process pages to the global LRU
>
>   2. linking grouped process pages to both the global LRU and the
>      memcg LRU
>
> The comparison you propose is neither fair nor relevant because it
> would never make sense to merge that patch without the others.

If you show there is no performance regression when
- memory cgroup is configured.
- it's not disabled by boot option
- there are only ROOT cgroup.
(Then, I'd like to see score.)

It seems your current series is a mixture of 2 works as
"re-desgin of softlimit" and "removal of global LRU".
I don't understand why you need 2 works at once.

Above test is for the latter. You need another justification for the former.
So, I'd like to ask you to divide the series into 2 series.

Thanks,
-Kame