On 17.05.2018 07:16, Vladimir Davydov wrote:
> On Tue, May 15, 2018 at 05:49:59PM +0300, Kirill Tkhai wrote:
>>>> @@ -589,13 +647,7 @@ static unsigned long shrink_slab(gfp_t gfp_mask, int 
>>>> nid,
>>>>                    .memcg = memcg,
>>>>            };
>>>>  
>>>> -          /*
>>>> -           * If kernel memory accounting is disabled, we ignore
>>>> -           * SHRINKER_MEMCG_AWARE flag and call all shrinkers
>>>> -           * passing NULL for memcg.
>>>> -           */
>>>> -          if (memcg_kmem_enabled() &&
>>>> -              !!memcg != !!(shrinker->flags & SHRINKER_MEMCG_AWARE))
>>>> +          if (!!memcg != !!(shrinker->flags & SHRINKER_MEMCG_AWARE))
>>>>                    continue;
>>>
>>> I want this check gone. It's easy to achieve, actually - just remove the
>>> following lines from shrink_node()
>>>
>>>             if (global_reclaim(sc))
>>>                     shrink_slab(sc->gfp_mask, pgdat->node_id, NULL,
>>>                                 sc->priority);
>>
>> This check is not related to the patchset.
> 
> Yes, it is. This patch modifies shrink_slab which is used only by
> shrink_node. Simplifying shrink_node along the way looks right to me.

shrink_slab() is used not only in this place. I does not seem a trivial
change for me.

>> Let's don't mix everything in the single series of patches, because
>> after your last remarks it will grow at least up to 15 patches.
> 
> Most of which are trivial so I don't see any problem here.
> 
>> This patchset can't be responsible for everything.
> 
> I don't understand why you balk at simplifying the code a bit while you
> are patching related functions anyway.

Because this function is used in several places, and we have some particulars
on root_mem_cgroup initialization, and this function called from these places
with different states of root_mem_cgroup. It does not seem trivial fix for me.

Let's do it on top of the series later, what is the problem? It does not seem
critical problem.

Kirill

Reply via email to