Re: [PATCH 4/4] mm: shrinker: make shrinker not depend on memcg kmem

From: Yang Shi
Date: Wed Jun 12 2019 - 01:12:51 EST




On 6/11/19 7:52 PM, Kirill A. Shutemov wrote:
On Fri, Jun 07, 2019 at 02:07:39PM +0800, Yang Shi wrote:
Currently shrinker is just allocated and can work when memcg kmem is
enabled. But, THP deferred split shrinker is not slab shrinker, it
doesn't make too much sense to have such shrinker depend on memcg kmem.
It should be able to reclaim THP even though memcg kmem is disabled.

Introduce a new shrinker flag, SHRINKER_NONSLAB, for non-slab shrinker,
i.e. THP deferred split shrinker. When memcg kmem is disabled, just
such shrinkers can be called in shrinking memcg slab.
Looks like it breaks bisectability. It has to be done before makeing
shrinker memcg-aware, hasn't it?

No, it doesn't break bisectability. But, THP shrinker just can be called with kmem charge enabled without this patch.