Re: [PATCH 3/3] mm: Count list_lru_one::nr_items lockless

2017-08-26 Thread Vladimir Davydov
On Wed, Aug 23, 2017 at 03:26:12PM +0300, Kirill Tkhai wrote: > On 23.08.2017 11:27, Vladimir Davydov wrote: > > On Wed, Aug 23, 2017 at 11:00:56AM +0300, Kirill Tkhai wrote: > >> On 22.08.2017 22:47, Vladimir Davydov wrote: > >>> On Tue, Aug 22, 2017 at 03:29:35PM +0300, Kirill Tkhai wrote: >

Re: [PATCH 3/3] mm: Count list_lru_one::nr_items lockless

2017-08-23 Thread Kirill Tkhai
On 23.08.2017 11:27, Vladimir Davydov wrote: > On Wed, Aug 23, 2017 at 11:00:56AM +0300, Kirill Tkhai wrote: >> On 22.08.2017 22:47, Vladimir Davydov wrote: >>> On Tue, Aug 22, 2017 at 03:29:35PM +0300, Kirill Tkhai wrote: During the reclaiming slab of a memcg, shrink_slab iterates over a

Re: [PATCH 3/3] mm: Count list_lru_one::nr_items lockless

2017-08-23 Thread Vladimir Davydov
On Wed, Aug 23, 2017 at 11:00:56AM +0300, Kirill Tkhai wrote: > On 22.08.2017 22:47, Vladimir Davydov wrote: > > On Tue, Aug 22, 2017 at 03:29:35PM +0300, Kirill Tkhai wrote: > >> During the reclaiming slab of a memcg, shrink_slab iterates > >> over all registered shrinkers in the system, and tries

Re: [PATCH 3/3] mm: Count list_lru_one::nr_items lockless

2017-08-23 Thread Kirill Tkhai
On 22.08.2017 22:47, Vladimir Davydov wrote: > On Tue, Aug 22, 2017 at 03:29:35PM +0300, Kirill Tkhai wrote: >> During the reclaiming slab of a memcg, shrink_slab iterates >> over all registered shrinkers in the system, and tries to count >> and consume objects related to the cgroup. In case of mem

Re: [PATCH 3/3] mm: Count list_lru_one::nr_items lockless

2017-08-22 Thread Vladimir Davydov
On Tue, Aug 22, 2017 at 03:29:35PM +0300, Kirill Tkhai wrote: > During the reclaiming slab of a memcg, shrink_slab iterates > over all registered shrinkers in the system, and tries to count > and consume objects related to the cgroup. In case of memory > pressure, this behaves bad: I observe high s

[PATCH 3/3] mm: Count list_lru_one::nr_items lockless

2017-08-22 Thread Kirill Tkhai
During the reclaiming slab of a memcg, shrink_slab iterates over all registered shrinkers in the system, and tries to count and consume objects related to the cgroup. In case of memory pressure, this behaves bad: I observe high system time and time spent in list_lru_count_one() for many processes o