From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Michael Kerrisk <michael.kerrisk@googlemail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
aaw <aaw@google.com>, Andrew Morton <akpm@linux-foundation.org>,
michael.kerrisk@gmail.com, carlos@codesourcery.com,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
linux-kernel <linux-kernel@vger.kernel.org>,
drepper@redhat.com, mtk.manpages@gmail.com
Subject: Re: [RFC/PATCH] RLIMIT_ARG_MAX
Date: Fri, 29 Feb 2008 18:14:04 +0100 [thread overview]
Message-ID: <1204305244.6243.111.camel@lappy> (raw)
In-Reply-To: <c49095e30802290858t42eb8a61ua0ed73e27971bc77@mail.gmail.com>
On Fri, 2008-02-29 at 17:58 +0100, Michael Kerrisk wrote:
> [Adding Ulrich D to the CC]
>
> On Fri, Feb 29, 2008 at 5:05 PM, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> >
> > On Wed, 27 Feb 2008, Peter Zijlstra wrote:
> > >
> > > Currently these arrays are considered part of the stack, and
> > > RLIMIT_STACK includes them. However POSIX does not specify it must be
> > > so.
> >
> > What's the real advantage of this? I'm not seeing it. Just an extra
> > complexity "niceness" that nobody can rely on anyway since it's not even
> > specified, and older kernels won't do it.
>
> The advantages are the following:
>
> 1. We don't break the ABI. in 2.6.23, RLIMIT_STACK acquired an
> additional semantic: RLIMIT_STACK/4 specified the size for
> argv+environ. aaw@google.com added this feature to allow processes to
> have much larger argument lists. However, if the user sets
> RLIMIT_STACK to less than 512k, then the amount of space for
> argv+environ falls below the space guaranteed by kernel 2.6.22 and
> earlier. (Older kernels guaranteed at least 128k for argv+environ.)
> Manipulating RLIMIT_STACK did not previously have this effect. (One
> place this matters is with NPTL, where, if RLIMIT_STACK is set to
> anything other than unlimited, then it is used as the default stack
> size when creating new threads. When creating many threads, it may
> well be desirable to set RLIMIT_STACK to a value lower than 512k.)
>
> While the new functionality provided by aaw@google.com's work is
> useful, RLIMIT_STACK really should not have been overloaded with a
> second meaning, since it is no longer possible to control stack size
> without also changing the limit on argv+environ space. Hence the
> proposal of a new resource limit.
>
> 2. It provides a sane mechanism for an application to determine the
> space available for argv+environ. Formerly this space was an
> invariant, advertised via sysconf(_SC_ARG_MAX).
>
> 3. The implementation details about stack size and size/location of
> argv+environ can be decoupled.
You fail to mention that <23 will still fault the first time it tries to
grow the stack when you set rlimit_stack to 128k and actually supply
128k of env+arg.
next prev parent reply other threads:[~2008-02-29 17:14 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-27 13:37 [RFC/PATCH] RLIMIT_ARG_MAX Peter Zijlstra
2008-02-29 16:05 ` Linus Torvalds
2008-02-29 16:58 ` Michael Kerrisk
2008-02-29 17:12 ` Linus Torvalds
2008-02-29 17:18 ` Peter Zijlstra
2008-02-29 17:29 ` Linus Torvalds
2008-02-29 17:42 ` Peter Zijlstra
2008-02-29 18:12 ` Linus Torvalds
2008-02-29 19:01 ` Ollie Wild
2008-02-29 19:09 ` Jakub Jelinek
2008-02-29 19:50 ` Linus Torvalds
2008-02-29 20:03 ` Ollie Wild
2008-03-04 20:07 ` Pavel Machek
2008-02-29 17:14 ` Peter Zijlstra [this message]
2008-02-29 17:35 ` Linus Torvalds
2008-02-29 17:55 ` Peter Zijlstra
2008-02-29 18:14 ` Linus Torvalds
2008-02-29 18:18 ` Michael Kerrisk
2008-02-29 18:39 ` Linus Torvalds
2008-02-29 19:49 ` Michael Kerrisk
2008-02-29 20:07 ` Linus Torvalds
2008-02-29 20:43 ` Michael Kerrisk
2008-02-29 21:34 ` Linus Torvalds
2008-02-29 21:57 ` Linus Torvalds
2008-03-01 14:21 ` Carlos O'Donell
2008-03-01 8:42 ` Geoff Clare
2008-02-29 18:40 ` Alan Cox
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=1204305244.6243.111.camel@lappy \
--to=a.p.zijlstra@chello.nl \
--cc=aaw@google.com \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=carlos@codesourcery.com \
--cc=drepper@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.kerrisk@gmail.com \
--cc=michael.kerrisk@googlemail.com \
--cc=mtk.manpages@gmail.com \
--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