Messages in this thread | | | Date | Thu, 15 Mar 2018 20:32:24 +0100 | From | Michal Hocko <> | Subject | Re: [PATCH RFC] xfs, memcg: Call xfs_fs_nr_cached_objects() only in case of global reclaim |
| |
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. -- Michal Hocko SUSE Labs
| |