From: Johannes Weiner <hannes@cmpxchg.org>
To: Yang Shi <yang.shi@linux.alibaba.com>
Cc: mhocko@suse.com, akpm@linux-foundation.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC v2 PATCH] mm: vmscan: do not iterate all mem cgroups for global direct reclaim
Date: Tue, 29 Jan 2019 17:53:17 -0500 [thread overview]
Message-ID: <20190129225317.GA15515@cmpxchg.org> (raw)
In-Reply-To: <1548799877-10949-1-git-send-email-yang.shi@linux.alibaba.com>
On Wed, Jan 30, 2019 at 06:11:17AM +0800, Yang Shi wrote:
> In current implementation, both kswapd and direct reclaim has to iterate
> all mem cgroups. It is not a problem before offline mem cgroups could
> be iterated. But, currently with iterating offline mem cgroups, it
> could be very time consuming. In our workloads, we saw over 400K mem
> cgroups accumulated in some cases, only a few hundred are online memcgs.
> Although kswapd could help out to reduce the number of memcgs, direct
> reclaim still get hit with iterating a number of offline memcgs in some
> cases. We experienced the responsiveness problems due to this
> occassionally.
>
> A simple test with pref shows it may take around 220ms to iterate 8K memcgs
> in direct reclaim:
> dd 13873 [011] 578.542919: vmscan:mm_vmscan_direct_reclaim_begin
> dd 13873 [011] 578.758689: vmscan:mm_vmscan_direct_reclaim_end
> So for 400K, it may take around 11 seconds to iterate all memcgs.
>
> Here just break the iteration once it reclaims enough pages as what
> memcg direct reclaim does. This may hurt the fairness among memcgs. But
> the cached iterator cookie could help to achieve the fairness more or
> less.
>
> Cc: Johannes Weiner <hannes@cmpxchg.org>
> Cc: Michal Hocko <mhocko@suse.com>
> Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com>
Looks sane to me, thanks Yang.
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
next prev parent reply other threads:[~2019-01-29 22:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-29 22:11 [RFC v2 PATCH] mm: vmscan: do not iterate all mem cgroups for global direct reclaim Yang Shi
2019-01-29 22:53 ` Johannes Weiner [this message]
2019-01-31 6:47 ` Michal Hocko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190129225317.GA15515@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=yang.shi@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.