On 15.03.2018 22:32, Michal Hocko wrote: > On Thu 15-03-18 22:28:43, Kirill Tkhai wrote: >> On 15.03.2018 20:49, Michal Hocko wrote: >>> On Thu 15-03-18 18:01:34, Kirill Tkhai wrote: >>>> xfs_reclaim_inodes_count(XFS_M(sb)) does not care about memcg. >>>> So, it's called for memcg reclaim too, e.g. this list is shrinked >>>> disproportionality to another lists. >>>> >>>> This looks confusing, so I'm reporting about this. >>>> Consider this patch as RFC. >>> >>> Could you be more specific about the problem you are trying to solve? >>> Because we do skip shrinkers which are not memcg aware by >>> shrink_slab: >>> /* >>> * 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)) >>> continue; >>> >>> Or am I missing something? >> >> sb->s_op->nr_cached_objects is a sub-method of generic super_cache_count(). >> super_cache_count() is owned and only called by superblock's shrinker, >> which does have SHRINKER_MEMCG_AWARE flag. > > Ohh, I see. I thought it was a standard "top-level" shrinker. There are one more in addition (it has to go in this patch): .free_cached_objects = xfs_fs_free_cached_objects which is not memcg aware. It also needs to have the same fix, if xfs_reclaim_inodes_count() is need. Kirill -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html