From: "Austin S. Hemmelgarn" <ahferroin7@gmail.com>
To: "H. Peter Anvin" <hpa@zytor.com>,
Peter Zijlstra <peterz@infradead.org>,
Topi Miettinen <toiwoton@gmail.com>
Cc: linux-kernel@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
Tony Luck <tony.luck@intel.com>,
Fenghua Yu <fenghua.yu@intel.com>,
Alexander Graf <agraf@suse.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Radim Kr??m???? <rkrcmar@redhat.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Michael Ellerman <mpe@ellerman.id.au>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
<x86@kernel.org>, Doug Ledford <dledford@redhat.com>,
Sean Hefty <sean.hefty@intel.com>,
Hal Rosenstock <hal.rosenstock@gmail.com>,
Mike Marciniszyn <mike.marciniszyn@intel.com>,
Dennis Dalessandro <dennis.dalessandro@intel.com>,
Christian Benvenuti <benve@cisco.com>,
Dave Goodell <dgoodell@cisco.com>,
Sudeep Dutt <sudeep.dutt@intel.com>,
Ashutosh Dixit <ashutosh.dixit@intel.com>,
Alex Williamson <alex.williamson@redhat.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Tejun Heo <tj@kernel.org>,
Li.Zefan@zytor.com
Subject: Re: [PATCH 00/14] Present useful limits to user (v2)
Date: Mon, 18 Jul 2016 09:00:49 -0400 [thread overview]
Message-ID: <7072ea25-851e-aa8d-69d8-63e10faf6a40@gmail.com> (raw)
In-Reply-To: <201607152054.u6FKslD1005327@mail.zytor.com>
On 2016-07-15 16:54, H. Peter Anvin wrote:
> On July 15, 2016 6:59:56 AM PDT, Peter Zijlstra <peterz@infradead.org> wrote:
>> On Fri, Jul 15, 2016 at 01:52:48PM +0000, Topi Miettinen wrote:
>>> On 07/15/16 12:43, Peter Zijlstra wrote:
>>>> On Fri, Jul 15, 2016 at 01:35:47PM +0300, Topi Miettinen wrote:
>>>>> Hello,
>>>>>
>>>>> There are many basic ways to control processes, including
>> capabilities,
>>>>> cgroups and resource limits. However, there are far fewer ways to
>> find out
>>>>> useful values for the limits, except blind trial and error.
>>>>>
>>>>> This patch series attempts to fix that by giving at least a nice
>> starting
>>>>> point from the highwater mark values of the resources in question.
>>>>> I looked where each limit is checked and added a call to update
>> the mark
>>>>> nearby.
>>>>
>>>> And how is that useful? Setting things to the high watermark is
>>>> basically the same as not setting the limit at all.
>>>
>>> What else would you use, too small limits?
>>
>> That question doesn't make sense.
>>
>> What's the point of setting a limit if it ends up being the same as
>> no-limit (aka unlimited).
>>
>> If you cannot explain; and you have not so far; what use these values
>> are, why would we look at the patches.
>
> One reason is to catch a malfunctioning process rather than dragging the whole system down with it. It could also be useful for development.
>
Additionally, there are quite a few applications which don't gracefully
handle memory allocation or process creation failures, either hanging,
constantly retrying, or just dying when this happens. For such an
application, you have to set the limit to the high watermark if you want
them limited at all, otherwise they don't work. A classic example of
this is the official client for Dropbox. If it can't start up all the
insane number of threads it thinks it needs, then it just hangs.
However, it's also a network service, and therefore is a reasonable
target for hackers, so it makes sense to try and limit it. I've run
into similar issues with quite a few 'desktop' services, both open and
closed source.
Looking at this another way, this is most useful for things that have a
deterministic maximum resource usage under regular use, not something
like a forking server which has a functionally unbounded maximum
resource usage.
prev parent reply other threads:[~2016-07-18 13:01 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1468578983-28229-1-git-send-email-toiwoton@gmail.com>
2016-07-15 10:35 ` [PATCH 01/14] resource limits: foundation for resource highwater tracking Topi Miettinen
2016-07-15 12:12 ` kbuild test robot
2016-07-15 12:49 ` Nicolas Dichtel
2016-07-15 16:27 ` Topi Miettinen
2016-07-15 17:57 ` Nicolas Dichtel
2016-07-15 10:35 ` [PATCH 02/14] resource limits: aggregate task highwater marks to cgroup level Topi Miettinen
2016-07-15 12:38 ` kbuild test robot
2016-07-15 14:10 ` Tejun Heo
2016-07-15 17:15 ` Topi Miettinen
2016-07-18 22:52 ` Tejun Heo
2016-07-19 16:57 ` Topi Miettinen
2016-07-19 18:18 ` Tejun Heo
2016-07-15 10:35 ` [PATCH 03/14] resource limits: track highwater mark of file sizes Topi Miettinen
2016-07-15 10:35 ` [PATCH 04/14] resource limits: track highwater mark of VM data segment Topi Miettinen
2016-07-15 10:35 ` [PATCH 05/14] resource limits: track highwater mark of stack size Topi Miettinen
2016-07-15 10:35 ` [PATCH 06/14] resource limits: track highwater mark of cores dumped Topi Miettinen
2016-07-15 10:35 ` [PATCH 07/14] resource limits: track highwater mark of user processes Topi Miettinen
2016-07-15 10:35 ` [PATCH 08/14] resource limits: track highwater mark of number of files Topi Miettinen
2016-07-15 10:35 ` [PATCH 10/14] resource limits: track highwater mark of address space size Topi Miettinen
2016-07-15 10:35 ` [PATCH 11/14] resource limits: track highwater mark of number of pending signals Topi Miettinen
2016-07-15 10:35 ` [PATCH 12/14] resource limits: track highwater mark of size of message queues Topi Miettinen
2016-07-15 10:36 ` [PATCH 13/14] resource limits: track highwater mark of niceness Topi Miettinen
2016-07-15 10:36 ` [PATCH 14/14] resource limits: track highwater mark of RT priority Topi Miettinen
2016-07-15 17:42 ` [PATCH 00/14] Present useful limits to user (v2) Topi Miettinen
[not found] ` <20160715124330.GR30154@twins.programming.kicks-ass.net>
[not found] ` <28b4b919-4f50-d9f6-c5e1-d1e92ea1ba1c@gmail.com>
[not found] ` <20160715135956.GA3115@twins.programming.kicks-ass.net>
2016-07-15 20:54 ` H. Peter Anvin
2016-07-18 13:00 ` Austin S. Hemmelgarn [this message]
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=7072ea25-851e-aa8d-69d8-63e10faf6a40@gmail.com \
--to=ahferroin7@gmail.com \
--cc=Li.Zefan@zytor.com \
--cc=agraf@suse.com \
--cc=alex.williamson@redhat.com \
--cc=ashutosh.dixit@intel.com \
--cc=benh@kernel.crashing.org \
--cc=benve@cisco.com \
--cc=corbet@lwn.net \
--cc=dennis.dalessandro@intel.com \
--cc=dgoodell@cisco.com \
--cc=dledford@redhat.com \
--cc=fenghua.yu@intel.com \
--cc=hal.rosenstock@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mike.marciniszyn@intel.com \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.org \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=rkrcmar@redhat.com \
--cc=sean.hefty@intel.com \
--cc=sudeep.dutt@intel.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=toiwoton@gmail.com \
--cc=tony.luck@intel.com \
--cc=viro@zeniv.linux.org.uk \
--cc=x86@kernel.org \
/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
Powered by JetHome