cvs commit: src/sys/vm vm_kern.c

Mike Silbersack silby at silby.com
Mon Feb 16 18:08:50 PST 2004


On Tue, 17 Feb 2004, Colin Percival wrote:

> At 21:05 16/02/2004, Maxime Henrion wrote:
> >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.
>
> <hat="kernel newbie">
>    Is this really good enough?  When I was routinely running my system out
> of kernel memory by using a large malloc backed md(4), the panic never
> came from a failed allocation in the md code; rather, md would use up all
> the available memory, and then some other kernel call (which needed only
> some small amount of memory) would panic.
>    From a security point of view, I can't see how there's any alternative
> to using a user-allocated buffer for such requests.
> </hat>
>
> Colin Percival

The M_SAFE and M_NOWAIT flags could be set to leave a 10% memory buffer
that only M_WAITOK callers would eat into.  This would (hopefully) help to
avoid panicing the system, while still maintaining the desired semantic
for M_WAITOK callers.

Er, wait, maybe M_WAITOK callers should block at that boundary, and
M_NOWAIT should succeed... hrm.

Either way, something should be done, the current state of affairs isn't
all that perfect.

Mike "Silby" Silbersack


More information about the cvs-src mailing list