From: Dwight Engen <dwight.engen@oracle.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: Tim Hockin <thockin@google.com>,
Richard Davies <richard@arachsys.com>,
Vladimir Davydov <vdavydov@parallels.com>,
David Rientjes <rientjes@google.com>,
Marian Marinov <mm@yuhu.biz>, Max Kellermann <mk@cm4all.com>,
Tim Hockin <thockin@hockin.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
containers@lists.linux-foundation.org,
Serge Hallyn <serge.hallyn@ubuntu.com>,
Glauber Costa <glommer@parallels.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
William Dauchy <wdauchy@gmail.com>,
Johannes Weiner <hannes@cmpxchg.org>, Tejun Heo <tj@kernel.org>,
cgroups@vger.kernel.org, Daniel Walsh <dwalsh@redhat.com>
Subject: Re: Protection against container fork bombs [WAS: Re: memcg with kmem limit doesn't recover after disk i/o causes limit to be hit]
Date: Tue, 29 Apr 2014 13:30:39 -0400 [thread overview]
Message-ID: <20140429133039.162d9dd7@oracle.com> (raw)
In-Reply-To: <20140429170639.GA25609@dhcp22.suse.cz>
On Tue, 29 Apr 2014 19:06:39 +0200
Michal Hocko <mhocko@suse.cz> wrote:
> On Tue 29-04-14 09:59:30, Tim Hockin wrote:
> > Here's the reason it doesn't work for us: It doesn't work.
>
> There is a "simple" solution for that. Help us to fix it.
>
> > It was something like 2 YEARS since we first wanted this, and it
> > STILL does not work.
>
> My recollection is that it was primarily Parallels and Google asking
> for the kmem accounting. The reason why I didn't fight against
> inclusion although the implementation at the time didn't have a
> proper slab shrinking implemented was that that would happen later.
> Well, that later hasn't happened yet and we are slowly getting there.
>
> > You're postponing a pretty simple request indefinitely in
> > favor of a much more complex feature, which still doesn't really
> > give me what I want.
>
> But we cannot simply add a new interface that will have to be
> maintained for ever just because something else that is supposed to
> workaround bugs.
>
> > What I want is an API that works like rlimit but per-cgroup, rather
> > than per-UID.
>
> You can use an out-of-tree patchset for the time being or help to get
> kmem into shape. If there are principal reasons why kmem cannot be
> used then you better articulate them.
Is there a plan to separately account/limit stack pages vs kmem in
general? Richard would have to verify, but I suspect kmem is not currently
viable as a process limiter for him because icache/dcache/stack is all
accounted together.
> > On Tue, Apr 29, 2014 at 9:51 AM, Frederic Weisbecker
> > <fweisbec@gmail.com> wrote:
> > > On Tue, Apr 29, 2014 at 09:06:22AM -0700, Tim Hockin wrote:
> > >> Why the insistence that we manage something that REALLY IS a
> > >> first-class concept (hey, it has it's own RLIMIT) as a side
> > >> effect of something that doesn't quite capture what we want to
> > >> achieve?
> > >
> > > It's not a side effect, the kmem task stack control was partly
> > > motivated to solve forkbomb issues in containers.
> > >
> > > Also in general if we can reuse existing features and code to
> > > solve a problem without disturbing side issues, we just do it.
> > >
> > > Now if kmem doesn't solve the issue for you for any reason, or it
> > > does but it brings other problems that aren't fixable in kmem
> > > itself, we can certainly reconsider this cgroup subsystem. But I
> > > haven't yet seen argument of this kind yet.
> > >
> > >>
> > >> Is there some specific technical reason why you think this is a
> > >> bad idea?
> > >> I would think, especially in a more unified hierarchy world,
> > >> that more cgroup controllers with smaller sets of responsibility
> > >> would make for more manageable code (within limits, obviously).
> > >
> > > Because it's core code and it adds complications and overhead in
> > > the fork/exit path. We just don't add new core code just for the
> > > sake of slightly prettier interfaces.
>
--
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:[~2014-04-29 17:30 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-16 15:46 memcg with kmem limit doesn't recover after disk i/o causes limit to be hit Richard Davies
2014-04-18 15:59 ` Michal Hocko
[not found] ` <20140418155939.GE4523-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2014-04-18 17:57 ` Vladimir Davydov
2014-04-18 17:57 ` Vladimir Davydov
[not found] ` <5351679F.5040908-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-04-18 18:20 ` Michal Hocko
2014-04-18 18:20 ` Michal Hocko
2014-04-18 18:37 ` Vladimir Davydov
2014-04-20 14:28 ` Protection against container fork bombs [WAS: Re: memcg with kmem limit doesn't recover after disk i/o causes limit to be hit] Richard Davies
2014-04-20 14:28 ` Richard Davies
2014-04-20 18:35 ` Tim Hockin
[not found] ` <20140420142830.GC22077-2oeHp4OYwSjPZs67QiJbJtBPR1lH4CV8@public.gmane.org>
2014-04-20 18:35 ` Tim Hockin
2014-04-22 18:39 ` Dwight Engen
2014-04-22 18:39 ` Dwight Engen
2014-04-22 20:05 ` Richard Davies
2014-04-22 20:13 ` Tim Hockin
[not found] ` <20140422200531.GA19334-2oeHp4OYwSjPZs67QiJbJtBPR1lH4CV8@public.gmane.org>
2014-04-22 20:13 ` Tim Hockin
2014-04-23 6:07 ` Marian Marinov
2014-04-23 6:07 ` Marian Marinov
2014-04-23 6:07 ` Marian Marinov
2014-04-23 12:49 ` Dwight Engen
[not found] ` <20140423084942.560ae837-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-04-28 18:00 ` Serge Hallyn
2014-04-28 18:00 ` Serge Hallyn
2014-04-29 7:25 ` Michal Hocko
2014-04-29 7:25 ` Michal Hocko
[not found] ` <20140429072515.GB15058-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2014-04-29 13:03 ` Serge Hallyn
2014-04-29 13:03 ` Serge Hallyn
2014-04-29 13:57 ` Marian Marinov
2014-04-29 13:57 ` Marian Marinov
2014-04-29 13:57 ` Marian Marinov
2014-04-29 14:04 ` Tim Hockin
2014-04-29 14:04 ` Tim Hockin
2014-04-29 15:43 ` Michal Hocko
2014-04-29 15:43 ` Michal Hocko
2014-04-29 15:43 ` Michal Hocko
[not found] ` <20140429154345.GH15058-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2014-04-29 16:06 ` Tim Hockin
2014-04-29 16:06 ` Tim Hockin
2014-04-29 16:51 ` Frederic Weisbecker
[not found] ` <20140429165114.GE6129-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-04-29 16:59 ` Tim Hockin
2014-04-29 16:59 ` Tim Hockin
2014-04-29 16:59 ` Tim Hockin
[not found] ` <CAO_Rewa20dneL8e3T4UPnu2Dkv28KTgFJR9_YSmRBKp-_yqewg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-29 17:06 ` Michal Hocko
2014-04-29 17:06 ` Michal Hocko
[not found] ` <20140429170639.GA25609-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2014-04-29 17:30 ` Dwight Engen
2014-04-29 17:30 ` Dwight Engen [this message]
[not found] ` <20140429133039.162d9dd7-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-04-29 18:09 ` Richard Davies
2014-04-29 18:09 ` Richard Davies
[not found] ` <20140429180927.GB29606-2oeHp4OYwSjPZs67QiJbJtBPR1lH4CV8@public.gmane.org>
2014-04-29 18:27 ` Michal Hocko
2014-04-29 18:27 ` Michal Hocko
[not found] ` <20140429182742.GB25609-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2014-04-29 18:39 ` Richard Davies
2014-04-29 18:39 ` Richard Davies
[not found] ` <20140429183928.GF29606-2oeHp4OYwSjPZs67QiJbJtBPR1lH4CV8@public.gmane.org>
2014-04-29 19:03 ` Michal Hocko
2014-04-29 19:03 ` Michal Hocko
2014-04-29 21:36 ` Marian Marinov
2014-04-29 21:36 ` Marian Marinov
[not found] ` <53601B68.60906-NV7Lj0SOnH0@public.gmane.org>
2014-04-30 13:31 ` Michal Hocko
2014-04-30 13:31 ` Michal Hocko
2014-04-30 13:31 ` Michal Hocko
2014-04-29 18:27 ` Michal Hocko
2014-04-29 17:06 ` Michal Hocko
2014-04-29 21:44 ` Frederic Weisbecker
2014-04-29 21:44 ` Frederic Weisbecker
2014-04-30 13:12 ` Daniel J Walsh
[not found] ` <5360F6B4.9010308-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-04-30 13:28 ` Frederic Weisbecker
2014-04-30 13:28 ` Frederic Weisbecker
2014-04-30 13:28 ` Frederic Weisbecker
[not found] ` <20140429214454.GF6129-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-04-30 13:12 ` Daniel J Walsh
2014-04-29 21:44 ` Frederic Weisbecker
[not found] ` <CAO_RewYZDGLBAKit4CudTbqVk+zfDRX8kP0W6Zz90xJh7abM9Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-29 16:51 ` Frederic Weisbecker
2014-04-29 13:03 ` Serge Hallyn
2014-05-06 11:40 ` Marian Marinov
2014-06-10 14:50 ` Marian Marinov
2014-06-10 14:50 ` Marian Marinov
2014-06-10 14:50 ` Marian Marinov
2014-05-06 11:40 ` Marian Marinov
2014-05-07 17:15 ` Dwight Engen
[not found] ` <20140507131514.43716518-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-05-07 22:39 ` Marian Marinov
2014-05-07 22:39 ` Marian Marinov
[not found] ` <536AB626.9070005-108MBtLGafw@public.gmane.org>
2014-05-08 15:25 ` Richard Davies
2014-05-08 15:25 ` Richard Davies
[not found] ` <5368CA47.7030007-NV7Lj0SOnH0@public.gmane.org>
2014-05-07 17:15 ` Dwight Engen
[not found] ` <535758A0.5000500-NV7Lj0SOnH0@public.gmane.org>
2014-04-23 12:49 ` Dwight Engen
2014-06-10 12:18 ` Alin Dobre
2014-06-10 12:18 ` Alin Dobre
[not found] ` <20140422143943.20609800-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-04-22 20:05 ` Richard Davies
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=20140429133039.162d9dd7@oracle.com \
--to=dwight.engen@oracle.com \
--cc=cgroups@vger.kernel.org \
--cc=containers@lists.linux-foundation.org \
--cc=dwalsh@redhat.com \
--cc=fweisbec@gmail.com \
--cc=glommer@parallels.com \
--cc=hannes@cmpxchg.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
--cc=mk@cm4all.com \
--cc=mm@yuhu.biz \
--cc=richard@arachsys.com \
--cc=rientjes@google.com \
--cc=serge.hallyn@ubuntu.com \
--cc=thockin@google.com \
--cc=thockin@hockin.org \
--cc=tj@kernel.org \
--cc=vdavydov@parallels.com \
--cc=wdauchy@gmail.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.