Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Feb 2004 20:01:19 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Maxime Henrion <mux@FreeBSD.org>
Cc:        des@FreeBSD.org
Subject:   Re: cvs commit: src/sys/vm vm_kern.c
Message-ID:  <20040217195303.X16798@gamplex.bde.org>
In-Reply-To: <20040216214602.GD35475@elvis.mu.org>
References:  <Pine.NEB.3.96L.1040216140303.63057O-100000@fledge.watson.org> <20040216210503.GC35475@elvis.mu.org> <20040216214602.GD35475@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 16 Feb 2004, Maxime Henrion wrote:

> M. Warner Losh wrote:
> > In message: <20040216210503.GC35475@elvis.mu.org>
> >             Maxime Henrion <mux@FreeBSD.org> writes:
> > : I find it very convenient to have a flag to tell malloc() to try as hard
> > : as it can to allocate the memory without crashing on us.  I suspect this
> > : could allow us to remove a fair number of kernel compile-time options.
> > :
> > : The patch can be found at http://www.mu.org/~mux/patches/malloc.patch.
> >
> > How would that be different than M_NOWAIT and then trying again a
> > couple of times?  Each time will fail if it is too big.  And that's
> > not meaningfully distinguishable from there not being enough memory
> > currently available to satisfy the request.
>
> Because if there is a memory shortage but it's possible to get the
> requested amount of memory later (because it's smaller than kmem_map),
> M_WAITOK | M_SAFE won't fail but wait while M_NOWAIT will fail right
> away.  Why trying again when we already have a flag for this?  What this
> patch does is allow to call malloc(verybignumber) without crashing to
> help in cases where it's hard to define what's a reasonable size.

I think malloc(verybignumber) shouldn't be encouraged, since it might
succeed and consume almost all malloc'able memory, and then other requests
for relatively small amounts of memory will fail.  Callers that want
lots of memory should be careful not to ask for more than they need and
can reasnbly expect to get.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040217195303.X16798>