9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "David Leimbach" <leimy2k@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] plan 9 overcommits memory?
Date: Tue,  4 Sep 2007 06:39:37 -0700	[thread overview]
Message-ID: <3e1162e60709040639u39e8ee90o42e71103aa1ce2ab@mail.gmail.com> (raw)
In-Reply-To: <pYadnUor98dRUUHbnZ2dnUVZ_gmdnZ2d@comcast.com>

[-- Attachment #1: Type: text/plain, Size: 1830 bytes --]

On 9/4/07, Douglas A. Gwyn <DAGwyn@null.net> wrote:
>
> >> malloc just moves the brk, but the backing pages don't get
> >> allocated until the pages are accessed (during memset).
>
> "erik quanstrom" <quanstro@quanstro.net> wrote in message
> news:d7c705e9c3355e723c8f69677bf2d851@quanstro.net...
>
> > i'm just suprised that plan 9 overcommits.  this makes
> > this code nonsensical from user space
> > if((p = malloc(Size)) == 0)
>
> Indeed, when I discovered that Linux was overcommitting memory
> in much the same way, which in my view is erroneous design, I
> added an optional feature to my portable malloc implementation
> that (on systems neeing it) would touch every allocated page
> before reporting success.  (During the touch loop a trap catcher
> would set a flag that would be tested after the loop to determine
> whether there had ben any faults.)  malloc really shouldn't have
> to do this, but if you're insisting on overcommitment in the OS
> then the library malloc() needs to do it.  Otherwise, applications
> that try to be careful may still fail "randomly", which is intolerable.
>

Yep, I've seen code with totally erroneous use of realloc work perfectly on
Linux for example, due to it's behavior.  Then I built it on FreeBSD and it
failed appropriately :-).

The problem there, in my opinion, was not the OS's behavior, but the
inexperience of the coder in question with realloc.  The terrible side
effect of all these garbage collected languages or ones that don't make you
manage memory much is that programmers have this attitude that they aren't
to blame when their code has flaws.

Mac OS X has many options for testing malloc results as well.  It can
scribble on pages etc... I'm sure glibc has these options somewhere too.
 They're great testing tools.

Dave

[-- Attachment #2: Type: text/html, Size: 2552 bytes --]

  reply	other threads:[~2007-09-04 13:39 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-31 11:41 erik quanstrom
2007-09-02 21:27 ` Russ Cox
2007-09-03  0:43   ` erik quanstrom
2007-09-04  8:47     ` Douglas A. Gwyn
2007-09-04 13:39       ` David Leimbach [this message]
2007-09-04 14:41         ` erik quanstrom
2007-09-04 15:54           ` David Leimbach
2007-09-04 17:37     ` sqweek
2007-09-04 18:10       ` ron minnich
2007-09-04 18:53         ` sqweek
2007-09-03  1:23   ` Scott Schwartz
2007-09-03  1:47     ` ron minnich
2007-09-03  2:11       ` erik quanstrom
2007-09-03  2:11       ` erik quanstrom
2007-09-04  8:48         ` Douglas A. Gwyn
2007-09-03  5:28       ` Scott Schwartz
2007-09-03  3:38 geoff
2007-09-03  5:35 ` Scott Schwartz
2007-09-03  6:05   ` Uriel
2007-09-03 13:33   ` erik quanstrom
2007-09-03 17:09     ` john
2007-09-03 17:17       ` Gorka Guardiola
2007-09-03 17:25         ` Francisco J Ballesteros
2007-09-03 17:30         ` john
2007-09-03 19:47           ` Charles Forsyth
2007-09-03 19:46         ` Uriel
2007-09-03 19:54           ` Charles Forsyth
2007-09-03 19:54             ` Uriel
2007-09-03 20:34               ` geoff
2007-09-03 20:16             ` erik quanstrom
2007-09-03 17:32       ` erik quanstrom
2007-09-03 17:39         ` Francisco J Ballesteros
2007-09-03 17:43         ` john
2007-09-03 17:45           ` john
2007-09-03 19:52             ` Charles Forsyth
2007-09-05  8:33         ` sqweek
2007-09-04  8:48       ` Douglas A. Gwyn
2007-09-03 18:13   ` geoff
2007-09-03 20:17     ` erik quanstrom
2007-09-03 20:48       ` geoff
2007-09-03 22:01         ` erik quanstrom
2007-09-03 22:43           ` Charles Forsyth
2007-09-03 23:51             ` erik quanstrom
2007-09-04  0:04               ` Charles Forsyth
2007-09-04 14:44                 ` erik quanstrom
2007-09-04 15:07                   ` Charles Forsyth
2007-09-04 15:18                     ` ron minnich
2007-09-04 15:18                     ` Charles Forsyth
2007-09-05  8:48                       ` Douglas A. Gwyn
2007-09-05 10:53                         ` erik quanstrom
2007-09-06  8:42                           ` Douglas A. Gwyn
2007-09-06 17:15                             ` Joel C. Salomon
2007-09-06 19:38                               ` ron minnich
2007-09-06 20:18                                 ` Charles Forsyth
2007-09-06 23:37                                 ` Steve Simon
2007-09-07  3:09                                 ` Roman Shaposhnik
2007-09-07  4:09                                   ` Bruce Ellis
2007-09-07  4:25                                     ` Lyndon Nerenberg
2007-09-07  4:37                                       ` Bruce Ellis
2007-09-07  4:43                                         ` Lyndon Nerenberg
2007-09-10 15:24                                         ` roger peppe
2007-09-07 10:55                                     ` erik quanstrom
2007-09-04 23:32                     ` erik quanstrom
2007-09-03 21:16       ` Charles Forsyth
2007-09-03 21:19         ` ron minnich
2007-09-03 21:41           ` Eric Van Hensbergen
2007-09-03 21:51           ` erik quanstrom
2007-09-03 13:21 ` erik quanstrom
2007-09-03 14:01   ` Sape Mullender
2007-09-03 14:32     ` erik quanstrom
2007-09-03 15:28       ` Sape Mullender
2007-09-04  4:32         ` lucio
2007-09-04  7:23 ` Dave Eckhardt
2007-09-04  8:48 ` Douglas A. Gwyn

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=3e1162e60709040639u39e8ee90o42e71103aa1ce2ab@mail.gmail.com \
    --to=leimy2k@gmail.com \
    --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).