linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Vladimir Davydov <vdavydov@parallels.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: lsf-pc@lists.linux-foundation.org, linux-mm@kvack.org
Subject: Re: [LSF/MM TOPIC ATTEND]
Date: Thu, 8 Jan 2015 11:33:53 +0300	[thread overview]
Message-ID: <20150108083353.GB2110@esperanza> (raw)
In-Reply-To: <20150107143858.GE16553@dhcp22.suse.cz>

On Wed, Jan 07, 2015 at 03:38:58PM +0100, Michal Hocko wrote:
> On Wed 07-01-15 11:58:28, Vladimir Davydov wrote:
> > On Tue, Jan 06, 2015 at 05:14:35PM +0100, Michal Hocko wrote:
> > [...]
> > > And as a memcg co-maintainer I would like to also discuss the following
> > > topics.
> > > - We should finally settle down with a set of core knobs exported with
> > >   the new unified hierarchy cgroups API. I have proposed this already
> > >   http://marc.info/?l=linux-mm&m=140552160325228&w=2 but there is no
> > >   clear consensus and the discussion has died later on. I feel it would
> > >   be more productive to sit together and come up with a reasonable
> > >   compromise between - let's start from the begining and keep useful and
> > >   reasonable features.
> > >   
> > > - kmem accounting is seeing a lot of activity mainly thanks to Vladimir.
> > >   He is basically the only active developer in this area. I would be
> > >   happy if he can attend as well and discuss his future plans in the
> > >   area. The work overlaps with slab allocators and slab shrinkers so
> > >   having people familiar with these areas would be more than welcome
> > 
> > One more memcg related topic that is worth discussing IMO:
> > 
> >  - On global memory pressure we walk over all memory cgroups and scan
> >    pages from each of them. Since there can be hundreds or even
> >    thousands of memory cgroups, such a walk can be quite expensive,
> >    especially if the cgroups are small so that to reclaim anything from
> >    them we have to descend to a lower scan priority.
> 
>      We do not get to lower priorities just to scan small cgroups. They
>      will simply get ignored unless we are force scanning them.

That means that small cgroups (< 16 M) may not be scanned at all if
there are enough reclaimable pages in bigger cgroups. I'm not sure if
anyone will mix small and big cgroups on the same host though. However,
currently this may render offline memory cgroups hanging around forever
if they have some memory on destruction, because they will become small
due to global reclaim sooner or later. OTOH, we could always forcefully
scan lruvecs that belong to dead cgroups, or limit the maximal number of
dead cgroups, w/o reworking the reclaimer.

> 
> >    The problem is
> >    augmented by offline memory cgroups, which now can be dangling for
> >    indefinitely long time.
> 
> OK, but shrink_lruvec shouldn't do too much work on a memcg which
> doesn't have any pages to scan for the given priority. Or have you
> seen this in some profiles?

In real life, no.

> 
> >    That's why I think we should work out a better algorithm for the
> >    memory reclaimer. May be, we could rank memory cgroups somehow (by
> >    their age, memory consumption?) and try to scan only the top ranked
> >    cgroup during a reclaimer run.
> 
> We still have to keep some fairness and reclaim all groups
> proportionally and balancing this would be quite non-trivial. I am not
> saying we couldn't implement our iterators in a more intelligent way but
> this code is quite complex already and I haven't seen this as a big
> problem yet. Some overhead is to be expected when thousands of groups
> are configured, right?

Right, sounds convincing. Let's cross out this topic then until we see
complains from real users. No need to spend time on it right now.

Sorry for the noise.

Thanks,
Vladimir

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2015-01-08  8:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-06 16:14 [LSF/MM TOPIC ATTEND] Michal Hocko
2015-01-06 23:27 ` Greg Thelen
2015-01-07 14:28   ` Michal Hocko
2015-01-07 18:54     ` Greg Thelen
2015-01-07 19:00     ` Greg Thelen
2015-01-14 21:27     ` Andrea Arcangeli
2015-01-15 14:06       ` Michal Hocko
2015-01-15 20:58         ` Andrea Arcangeli
2015-01-07  8:58 ` Vladimir Davydov
2015-01-07 14:38   ` Michal Hocko
2015-01-08  8:33     ` Vladimir Davydov [this message]
2015-01-08  9:09       ` Michal Hocko
2015-02-02  8:37 ` [LSF/MM TOPIC ATTEND] - THP benefits Vlastimil Babka

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=20150108083353.GB2110@esperanza \
    --to=vdavydov@parallels.com \
    --cc=linux-mm@kvack.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=mhocko@suse.cz \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).