From: Sebastian Frias <sf84@laposte.net>
To: Mason <slash.tmp@free.fr>, Michal Hocko <mhocko@kernel.org>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mm: add config option to select the initial overcommit mode
Date: Fri, 13 May 2016 12:42:09 +0200 [thread overview]
Message-ID: <5735AF81.7010803@laposte.net> (raw)
In-Reply-To: <5735AA0E.5060605@free.fr>
Hi,
On 05/13/2016 12:18 PM, Mason wrote:
> On 13/05/2016 11:52, Michal Hocko wrote:
>> On Fri 13-05-16 10:44:30, Mason wrote:
>>> On 13/05/2016 10:04, Michal Hocko wrote:
>>>
>>>> On Tue 10-05-16 13:56:30, Sebastian Frias wrote:
>>>> [...]
>>>>> NOTE: I understand that the overcommit mode can be changed dynamically thru
>>>>> sysctl, but on embedded systems, where we know in advance that overcommit
>>>>> will be disabled, there's no reason to postpone such setting.
>>>>
>>>> To be honest I am not particularly happy about yet another config
>>>> option. At least not without a strong reason (the one above doesn't
>>>> sound that way). The config space is really large already.
>>>> So why a later initialization matters at all? Early userspace shouldn't
>>>> consume too much address space to blow up later, no?
>>>
>>> One thing I'm not quite clear on is: why was the default set
>>> to over-commit on?
>>
>> Because many applications simply rely on large and sparsely used address
>> space, I guess.
>
> What kind of applications are we talking about here?
>
> Server apps? Client apps? Supercomputer apps?
>
> I heard some HPC software use large sparse matrices, but is it a common
> idiom to request large allocations, only to use a fraction of it?
>
Let's say there are specific applications that require overcommit.
Shouldn't overcommit be changed for those specific circumstances?
In other words, why is overcommit=GUESS default for everybody?
> If you'll excuse the slight trolling, I'm sure many applications don't
> expect being randomly zapped by the OOM killer ;-)
>
>> That's why the default is GUESS where we ignore the cumulative
>> charges and simply check the current state and blow up only when
>> the current request is way too large.
>
> I wouldn't call denying a request "blowing up". Application will
> receive NULL, and is supposed to handle it gracefully.
>
> "Blowing up" is receiving SIGKILL because another process happened
> to allocate too much memory.
I agree.
Furthermore, the "blow up when the current request is too large" is more complex than that due to delay between the allocation and the time when the system realises it cannot honour the promise, there must be lots of code/heuristics involved there.
Anyway, it'd be nice to understand the real history behind overcommit (as I stated earlier, my understanding of the history is that in the early days there was no overcommit) and why it is there by default if only specific applications would require it.
Best regards,
Sebastian
--
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:[~2016-05-13 10:42 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-10 11:56 Sebastian Frias
2016-05-13 8:04 ` Michal Hocko
2016-05-13 8:44 ` Mason
2016-05-13 9:52 ` Michal Hocko
2016-05-13 10:18 ` Mason
2016-05-13 10:42 ` Sebastian Frias [this message]
2016-05-13 11:44 ` Michal Hocko
2016-05-13 12:15 ` Mason
2016-05-13 14:01 ` Michal Hocko
2016-05-13 14:15 ` Sebastian Frias
2016-05-13 15:04 ` One Thousand Gnomes
2016-05-13 15:37 ` Sebastian Frias
2016-05-13 15:43 ` One Thousand Gnomes
2016-05-17 8:24 ` Sebastian Frias
2016-05-17 8:57 ` Michal Hocko
2016-05-17 16:16 ` Sebastian Frias
2016-05-17 17:29 ` Austin S. Hemmelgarn
2016-05-18 15:19 ` Sebastian Frias
2016-05-18 16:28 ` Austin S. Hemmelgarn
2016-05-17 20:16 ` Michal Hocko
2016-05-18 15:18 ` Sebastian Frias
2016-05-19 7:14 ` Michal Hocko
2016-05-13 17:01 ` Austin S. Hemmelgarn
2016-05-13 13:27 ` Austin S. Hemmelgarn
2016-05-13 9:52 ` Sebastian Frias
2016-05-13 12:00 ` Michal Hocko
2016-05-13 12:39 ` Sebastian Frias
2016-05-13 13:11 ` Austin S. Hemmelgarn
2016-05-13 13:32 ` Sebastian Frias
2016-05-13 13:51 ` Austin S. Hemmelgarn
2016-05-13 14:35 ` Sebastian Frias
2016-05-13 14:54 ` Michal Hocko
2016-05-13 15:15 ` Austin S. Hemmelgarn
2016-05-13 13:34 ` Sebastian Frias
2016-05-13 14:14 ` Austin S. Hemmelgarn
2016-05-13 14:23 ` Sebastian Frias
2016-05-13 15:02 ` Austin S. Hemmelgarn
2016-05-13 15:01 ` One Thousand Gnomes
2016-05-13 15:15 ` Sebastian Frias
2016-05-13 15:25 ` Michal Hocko
2016-05-13 14:51 ` Michal Hocko
2016-05-13 14:59 ` Mason
2016-05-13 15:11 ` One Thousand Gnomes
2016-05-13 15:26 ` Michal Hocko
2016-05-13 15:32 ` Sebastian Frias
2016-05-13 15:10 ` Sebastian Frias
2016-05-13 15:41 ` One Thousand Gnomes
2016-05-23 13:11 ` Sebastian Frias
2016-05-17 9:03 ` Mason
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=5735AF81.7010803@laposte.net \
--to=sf84@laposte.net \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=slash.tmp@free.fr \
--cc=torvalds@linux-foundation.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