From: Michal Hocko <mhocko@suse.cz>
To: Tejun Heo <tj@kernel.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>,
Balbir Singh <bsingharora@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
cgroups@vger.kernel.org, linux-mm@kvack.org,
Hugh Dickins <hughd@google.com>, Ying Han <yinghan@google.com>,
Glauber Costa <glommer@parallels.com>,
Michel Lespinasse <walken@google.com>,
Greg Thelen <gthelen@google.com>
Subject: Re: memcg: softlimit on internal nodes
Date: Mon, 22 Apr 2013 17:19:08 +0200 [thread overview]
Message-ID: <20130422151908.GF18286@dhcp22.suse.cz> (raw)
In-Reply-To: <20130422043939.GB25089@mtj.dyndns.org>
On Sun 21-04-13 21:39:39, Tejun Heo wrote:
> Hey, Michal.
>
> On Sun, Apr 21, 2013 at 02:46:06PM +0200, Michal Hocko wrote:
> > [I am terribly jet lagged so I should probably postpone any serious
> > thinking for few days but let me try]
>
> Sorry about raising a flame war so soon after the conference week.
> None of these is really urgent, so please take your time.
>
> > The current implementation stores all subtrees that are over the soft
> > limit in a tree sorted by how much they are excessing the limit. Have
> > a look at mem_cgroup_update_tree and its callers (namely down from
> > __mem_cgroup_commit_charge). My patch _preserves_ this behavior it just
> > makes the code much saner and as a bonus it doesn't touch groups (not
> > hierarchies) under the limit unless necessary which wasn't the case
> > previously.
>
> What you describe is already confused. What does that knob mean then?
Well, it would help to start with Documentation/cgroups/memory.txt
"
7. Soft limits
Soft limits allow for greater sharing of memory. The idea behind soft
limits is to allow control groups to use as much of the memory as
needed, provided
a. There is no memory contention
b. They do not exceed their hard limit
When the system detects memory contention or low memory, control groups
are pushed back to their soft limits. If the soft limit of each control
group is very high, they are pushed back as much as possible to make
sure that one control group does not starve the others of memory.
Please note that soft limits is a best-effort feature; it comes with
no guarantees, but it does its best to make sure that when memory is
heavily contended for, memory is allocated based on the soft limit
hints/setup. Currently soft limit based reclaim is set up such that
it gets invoked from balance_pgdat (kswapd).
"
As you can see there no single mention about groups below their soft
limits. All we are saying here is that those groups that are above will
get reclaimed.
> Google folks seem to think it's an allocation guarantee but global
> reclaim is broken and breaches the configuration (which I suppose is
> arising from their usage of memcg) and I don't understand what your
> definition of the knob is apart from the description of what's
> implemented now, which apparently is causing horrible confusion on all
> the involved parties.
OK, I guess I start understanding where all the confusion comes from.
Let me stress again that the rework doesn't provide any guarantee. It
just integrates the soft limit reclaim into the main reclaim routines,
gets rid of a lot of code and last but not least makes a greater chance
that under-the-soft limit groups are not reclaimed unless really
necessary.
So please take these into consideration for the future discussions.
> > So yes, I can understand why this is confusing for you. The soft limit
> > semantic is different because the limit is/was considered only if it
> > is/was in excess.
> >
> > Maybe I was using word _guarantee_ too often to confuse you, I am sorry
> > if this is the case. The guarantee part comes from the group point of
> > view. So the original semantic of the hierarchical behavior is
> > unchanged.
>
> I don't care what word you use. There are two choices. Pick one and
> stick with it. Don't make it something which inhibits reclaim if
> under limit for leaf nodes but behaves somewhat differently if an
> ancestor is under pressure or whatever. Just pick one. It is either
> an reclaim inhibitor or actual soft limit.
OK, I will not repeat the same mistake and let this frustrating
discussion going on to "let's redo the soft limit reclaim again #1001"
point again. No this is not about guarantee. And _never_ will be! Full
stop.
We can try to be clever during the outside pressure and prefer
reclaiming over soft limit groups first. Which we used to do and will
do after rework as well. As a side effect of that a properly designed
hierachy with opt-in soft limited groups can actually accomplish some
isolation is a nice side effect but no _guarantee_.
> > What to does it mean that an inter node is under the soft limit
> > for the subhierarchy is questionable and there are usecases where
>
> It's not frigging questionable. You're just horribly confused.
>
> Thanks.
>
> --
> tejun
--
Michal Hocko
SUSE Labs
--
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>
next prev parent reply other threads:[~2013-04-22 15:19 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-20 0:26 memcg: softlimit on internal nodes Tejun Heo
[not found] ` <20130420002620.GA17179-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-20 0:42 ` Tejun Heo
2013-04-20 3:35 ` Greg Thelen
2013-04-21 1:53 ` Tejun Heo
2013-04-20 3:16 ` Michal Hocko
2013-04-21 2:23 ` Tejun Heo
[not found] ` <20130421022321.GE19097-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-21 8:55 ` Michel Lespinasse
[not found] ` <CANN689GuN_5QdgPBjr7h6paVmPeCvLHYfLWNLsJMWib9V9G_Fw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-22 4:24 ` Tejun Heo
[not found] ` <20130422042445.GA25089-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-22 7:14 ` Michel Lespinasse
2013-04-22 14:48 ` Tejun Heo
2013-04-22 15:37 ` Michal Hocko
2013-04-22 15:46 ` Tejun Heo
[not found] ` <20130422154620.GB12543-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-04-22 15:54 ` Michal Hocko
[not found] ` <20130422155454.GH18286-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-04-22 16:01 ` Tejun Heo
2013-04-23 9:58 ` Michel Lespinasse
2013-04-23 10:17 ` Glauber Costa
[not found] ` <51765FB2.3070506-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-04-23 11:40 ` Michal Hocko
[not found] ` <20130423114020.GC8001-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-04-23 11:54 ` Glauber Costa
2013-04-23 12:51 ` Michel Lespinasse
[not found] ` <CANN689FaGBi+LmdoSGBf3D9HmLD8Emma1_M3T1dARSD6=75B0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-23 13:06 ` Michal Hocko
[not found] ` <20130423130627.GG8001-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-04-23 13:13 ` Glauber Costa
2013-04-23 13:28 ` Michal Hocko
[not found] ` <CANN689Hz5A+iMM3T76-8RCh8YDnoGrYBvtjL_+cXaYRR0OkGRQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-23 11:32 ` Michal Hocko
[not found] ` <20130423113216.GB8001-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-04-23 12:45 ` Michel Lespinasse
[not found] ` <CANN689G47EFiSpH-d=yQSiUxPcHXveBi_aCL=o3yoHSa8K7LbQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-23 12:59 ` Michal Hocko
2013-04-23 12:51 ` Michal Hocko
2013-04-21 12:46 ` Michal Hocko
2013-04-22 4:39 ` Tejun Heo
2013-04-22 15:19 ` Michal Hocko [this message]
[not found] ` <20130422151908.GF18286-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-04-22 15:57 ` Tejun Heo
[not found] ` <20130422155703.GC12543-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-04-22 15:57 ` Tejun Heo
2013-04-22 16:20 ` Michal Hocko
[not found] ` <20130422162012.GI18286-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-04-22 18:30 ` Tejun Heo
[not found] ` <20130422183020.GF12543-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-04-23 9:29 ` Michal Hocko
2013-04-23 17:09 ` Tejun Heo
2013-04-26 11:51 ` Michal Hocko
[not found] ` <20130426115120.GG31157-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-04-26 18:37 ` Tejun Heo
[not found] ` <20130426183741.GA25940-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-29 15:27 ` Michal Hocko
2013-04-24 21:45 ` Johannes Weiner
2013-04-25 0:33 ` Tejun Heo
[not found] ` <20130425003335.GA32353-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-29 18:39 ` Johannes Weiner
2013-04-23 9:33 ` [RFC v2 0/4] soft limit rework Michal Hocko
[not found] ` <1366709639-10240-1-git-send-email-mhocko-AlSwsSmVLrQ@public.gmane.org>
2013-04-23 9:33 ` [RFC v2 1/4] memcg: integrate soft reclaim tighter with zone shrinking code Michal Hocko
2013-04-23 9:33 ` [RFC v2 2/4] memcg: Get rid of soft-limit tree infrastructure Michal Hocko
2013-04-23 9:33 ` [RFC v2 3/4] vmscan, memcg: Do softlimit reclaim also for targeted reclaim Michal Hocko
2013-04-23 9:33 ` [RFC v2 4/4] memcg: Ignore soft limit until it is explicitly specified 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=20130422151908.GF18286@dhcp22.suse.cz \
--to=mhocko@suse.cz \
--cc=bsingharora@gmail.com \
--cc=cgroups@vger.kernel.org \
--cc=glommer@parallels.com \
--cc=gthelen@google.com \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-mm@kvack.org \
--cc=tj@kernel.org \
--cc=walken@google.com \
--cc=yinghan@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox