Re: [PATCH v6 14/17] mm: Iterate only over charged shrinkers during memcg shrink_slab()

2018-05-21 Thread Vladimir Davydov
On Mon, May 21, 2018 at 12:17:07PM +0300, Kirill Tkhai wrote: > >> +static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid, > >> + struct mem_cgroup *memcg, int priority) > >> +{ > >> + struct memcg_shrinker_map *map; > >> + unsigned long freed = 0; > >> + int ret, i; >

Re: [PATCH v6 14/17] mm: Iterate only over charged shrinkers during memcg shrink_slab()

2018-05-21 Thread Kirill Tkhai
On 20.05.2018 11:00, Vladimir Davydov wrote: > On Fri, May 18, 2018 at 11:44:01AM +0300, Kirill Tkhai wrote: >> Using the preparations made in previous patches, in case of memcg >> shrink, we may avoid shrinkers, which are not set in memcg's shrinkers >> bitmap. To do that, we separate iterations o

Re: [PATCH v6 14/17] mm: Iterate only over charged shrinkers during memcg shrink_slab()

2018-05-20 Thread Vladimir Davydov
On Fri, May 18, 2018 at 11:44:01AM +0300, Kirill Tkhai wrote: > Using the preparations made in previous patches, in case of memcg > shrink, we may avoid shrinkers, which are not set in memcg's shrinkers > bitmap. To do that, we separate iterations over memcg-aware and > !memcg-aware shrinkers, and

[PATCH v6 14/17] mm: Iterate only over charged shrinkers during memcg shrink_slab()

2018-05-18 Thread Kirill Tkhai
Using the preparations made in previous patches, in case of memcg shrink, we may avoid shrinkers, which are not set in memcg's shrinkers bitmap. To do that, we separate iterations over memcg-aware and !memcg-aware shrinkers, and memcg-aware shrinkers are chosen via for_each_set_bit() from the bitma