From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Google search of the day
Date: Fri, 15 Feb 2008 08:15:05 -0500 [thread overview]
Message-ID: <8acf684047f1930df45bba2b9208ea3e@quanstro.net> (raw)
In-Reply-To: <47B4A1C6.4208D94C@null.net>
believe it or not plan 9 does exactly the same thing, as was
discussed in august under the subject "plan 9 overcommits memory?".
fundamentally, i think the stack problem is an operating system
problem not a language problem. (unless you're talking about
8 or 16-bit embedded things.) the thread library, for example
does just fine requiring its threads to declare a stack size.
in the case of a memory-constrained app on an embedded system,
the solution might be to find/write an algorithm that doesn't need a stack. :-)
- erik
> (1) Linux had/has a "feature" where the storage reserved by
> malloc/sbrk may be over-committed, so that despite a "success"
> indication from the allocation, when the application gets around
> to using the storage it could suddenly fail due to there not
> being enough to satisfay all current processes. I urged (but
> don't know whether anybody listened) that overcommitment should
> be disabled by default, with processes that want it (said to
> include "sparse array" programs, which sounds like bad design
> but that's another issue) being required to enable it by a
> specific request, or at least flagged as special in the
> executable object file. I kludged around this in my portable
> malloc implementation by having a configuration flag which if
> set caused malloc to attempt to touch every page before
> reporting success, trapping SIGSEGV in order to maintain
> control.
>
> (2) C, as well as many other PLs, has always had a problem in
> that there is no clean, standard mechanism to handle the
> situation in which a function invocation finds insufficient
> stack remaining to complete the linkage (instance allocation).
> This is especially problematic in memory-constrained apps such
> as many embedded systems, when the algorithm is sufficiently
> dynamic that it is impossible to predict the maximum nesting
> depth. At least with malloc failure, the program is informed
> when there is a problem and can take measures to cope with it.
>
> I hope people working on run-time environments will find ways
> to do better.
next prev parent reply other threads:[~2008-02-15 13:15 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-13 22:03 [9fans] quote " erik quanstrom
2008-02-13 23:08 ` Pietro Gagliardi
2008-02-13 23:24 ` [9fans] Google search " dave.l
2008-02-13 23:31 ` Pietro Gagliardi
2008-02-13 23:41 ` erik quanstrom
2008-02-13 23:49 ` Pietro Gagliardi
2008-02-13 23:59 ` john
2008-02-14 0:04 ` Pietro Gagliardi
2008-02-14 6:11 ` Anant Narayanan
2008-02-15 17:39 ` Skip Tavakkolian
2008-02-14 16:45 ` Douglas A. Gwyn
2008-02-14 17:09 ` john
2008-02-14 17:27 ` erik quanstrom
2008-02-15 9:50 ` Douglas A. Gwyn
2008-02-15 11:49 ` Alf
2008-02-15 13:15 ` erik quanstrom [this message]
2008-02-15 14:56 ` Brantley Coile
2008-02-15 15:44 ` Eris Discordia
2008-02-15 16:07 ` erik quanstrom
2008-02-15 16:43 ` maht
2008-02-15 17:35 ` ron minnich
2008-02-15 18:14 ` Iruata Souza
2008-02-15 18:37 ` maht
2008-02-15 17:39 ` Eris Discordia
2008-02-15 19:05 ` maht
2008-02-15 20:11 ` Eris Discordia
2008-02-15 20:18 ` Pietro Gagliardi
2008-02-15 20:49 ` maht
2008-02-16 23:32 ` Eris Discordia
2008-02-15 23:37 ` [9fans] Non-stack-based calling conventions Lyndon Nerenberg
2008-02-15 23:39 ` Pietro Gagliardi
2008-02-15 23:47 ` Paweł Lasek
2008-02-16 0:23 ` Brantley Coile
2008-02-16 23:32 ` Eris Discordia
2008-02-16 23:41 ` Pietro Gagliardi
2008-02-16 23:49 ` Brantley Coile
2008-02-17 0:04 ` Brantley Coile
2008-02-17 13:30 ` Eris Discordia
2008-02-17 15:04 ` erik quanstrom
2008-02-17 21:43 ` Uriel
2008-02-17 23:58 ` erik quanstrom
2008-02-18 1:54 ` Bruce Ellis
2008-02-18 3:43 ` erik quanstrom
2008-02-18 4:31 ` Bruce Ellis
2008-02-18 4:40 ` Pietro Gagliardi
2008-02-18 6:22 ` Robert William Fuller
2008-02-18 7:23 ` Bruce Ellis
2008-02-18 8:38 ` Anant Narayanan
2008-02-22 10:02 ` Douglas A. Gwyn
2008-02-22 19:35 ` Anant Narayanan
2008-02-18 8:30 ` Anant Narayanan
2008-02-18 8:44 ` Bruce Ellis
2008-02-18 18:50 ` Federico G. Benavento
2008-02-18 21:53 ` Lorenzo Fernando Bivens de la Fuente
2008-02-18 22:55 ` y i y u s
2008-02-18 23:46 ` Uriel
2008-02-18 22:14 ` Pietro Gagliardi
2008-02-18 22:16 ` Pietro Gagliardi
2008-02-18 22:32 ` Federico G. Benavento
2008-02-20 11:39 ` maht
2008-02-20 17:19 ` Bruce Ellis
2008-02-22 10:02 ` Douglas A. Gwyn
2008-02-22 10:02 ` Douglas A. Gwyn
2008-02-18 22:13 ` LiteStar numnums
2008-02-18 4:44 ` Pietro Gagliardi
2008-02-18 4:46 ` Pietro Gagliardi
2008-02-18 5:03 ` Uriel
2008-02-17 16:08 ` Anthony Sorace
2008-02-17 22:03 ` Charles Forsyth
2008-02-22 10:01 ` Douglas A. Gwyn
2008-02-22 14:07 ` Iruata Souza
2008-02-22 10:01 ` Douglas A. Gwyn
2008-02-22 10:01 ` Douglas A. Gwyn
2008-02-16 8:29 ` Lluís Batlle
2008-02-17 23:09 ` Chad Dougherty
2008-02-18 21:50 ` Pietro Gagliardi
2008-02-22 10:02 ` Douglas A. Gwyn
2008-02-26 21:30 ` Paweł Lasek
2008-02-26 22:00 ` maht
2008-02-26 22:32 ` Brantley Coile
2008-02-26 23:15 ` Uriel
2008-02-26 22:33 ` Brantley Coile
2008-02-26 22:46 ` Bruce Ellis
2008-02-27 4:26 ` lucio
2008-02-27 6:52 ` ron minnich
2008-02-27 17:57 ` lucio
2008-02-28 9:33 ` Bill Gunshannon
2008-02-28 9:58 ` Charles Forsyth
2008-02-28 14:15 ` Bill Gunshannon
2008-02-14 17:14 ` [9fans] Google search of the day Eris Discordia
2008-02-14 17:28 ` Fco. J. Ballesteros
2008-02-14 20:14 ` Eris Discordia
2008-02-14 20:30 ` Patrick Kristiansen
2008-02-14 20:38 ` Eris Discordia
2008-02-14 22:09 ` Pietro Gagliardi
2008-02-15 9:00 ` Eris Discordia
2008-02-14 17:51 ` Iruata Souza
2008-02-15 9:31 ` sqweek
2008-02-18 9:48 ` Douglas A. Gwyn
2008-02-18 9:57 ` Gorka Guardiola
2008-02-19 9:17 ` sqweek
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=8acf684047f1930df45bba2b9208ea3e@quanstro.net \
--to=quanstro@quanstro.net \
--cc=9fans@cse.psu.edu \
/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;
as well as URLs for NNTP newsgroup(s).