lkml.org 
[lkml]   [2017]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mm: bump PGSTEAL*/PGSCAN*/ALLOCSTALL counters in memcg reclaim
On Tue, May 30, 2017 at 02:24:36PM +0200, Michal Hocko wrote:
> On Mon 29-05-17 14:01:41, Roman Gushchin wrote:
> > Historically, PGSTEAL*/PGSCAN*/ALLOCSTALL counters were used to
> > account only for global reclaim events, memory cgroup targeted reclaim
> > was ignored.
> >
> > It doesn't make sense anymore, because the whole reclaim path
> > is designed around cgroups. Also, per-cgroup counters can exceed the
> > corresponding global counters, what can be confusing.
>
> The whole reclaim is designed around cgroups but the source of the
> memory pressure is different. I agree that checking global_reclaim()
> for PGSTEAL_KSWAPD doesn't make much sense because we are _always_ in
> the global reclaim context but counting ALLOCSTALL even for targetted
> memcg reclaim is more confusing than helpful. We usually consider this
> counter to see whether the kswapd catches up with the memory demand
> and the global direct reclaim is indicator it doesn't. The similar
> applies to other counters as well.
>
> So I do not think this is correct. What is the problem you are trying to
> solve here anyway.

This is a follow-up patch after the discussion here:
https://lkml.org/lkml/2017/5/16/706.

I can agree with you, that a per-cgroup ALLOCSTALL is something different
from a global one, and it's better to keep them separated.

But what about PGSTEAL*/PGSCAN* counters, isn't it better to make them
reflect __all__ reclaim activity, no matter what was a root cause?

Thanks!

Roman

\
 
 \ /
  Last update: 2017-05-30 15:22    [W:2.088 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site