Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jan 1999 11:12:16 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, mike@smith.net.au
Cc:        current@FreeBSD.ORG, green@unixhelp.org
Subject:   Re: Truth to M_WAITOK?
Message-ID:  <199901210012.LAA15843@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>Bear with the ignorance a moment; how is a full map any different to no 
>more kmem space?

I'd call them the same.  The map is kmem_map for malloc(), and running
out of space in that map is fatal.  When the map fills up, it is usually
not really full, it is just so fragmented that contiguous space can't be
found for the larger than usual allocation in the current request.
Freeing memory in the map won't necessarily reduce fragmentation.  The
map must be quite sparse to work at all.

>In the "out of kmem" case, we call VM_WAIT and retry.  Why not do this 
>in the kmem_map full case as well?

I'd call that the the out of general memory (pages) case.  This is non-
fatal because normally lots of memory is allocated to applications and
it is easy to free some by swapping.   There are no fragmentation problems
since pages can be mapped anywhere in virtual memory.

Bruce

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



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