SCCS-vsn: sys/kern/kern_malloc.c 7.16
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)kern_malloc.c 7.15 (Berkeley) %G%
+ * @(#)kern_malloc.c 7.16 (Berkeley) %G%
else malloc_reentered = 1;}
#define OUT (malloc_reentered = 0)
else malloc_reentered = 1;}
#define OUT (malloc_reentered = 0)
-struct {
- int nomap;
- int atlimit;
- int freemem;
-} KFail;
-
/*
* Allocate a block of memory
*/
/*
* Allocate a block of memory
*/
#ifdef KMEMSTATS
while (ksp->ks_memuse >= ksp->ks_limit) {
if (flags & M_NOWAIT) {
#ifdef KMEMSTATS
while (ksp->ks_memuse >= ksp->ks_limit) {
if (flags & M_NOWAIT) {
OUT;
splx(s);
return (0);
OUT;
splx(s);
return (0);
allocsize = 1 << indx;
npg = clrnd(btoc(allocsize));
if ((flags & M_NOWAIT) && freemem < npg) {
allocsize = 1 << indx;
npg = clrnd(btoc(allocsize));
if ((flags & M_NOWAIT) && freemem < npg) {
OUT;
splx(s);
return (0);
OUT;
splx(s);
return (0);
alloc = rmalloc(kmemmap, npg);
if (alloc == 0) {
if (flags & M_NOWAIT) {
alloc = rmalloc(kmemmap, npg);
if (alloc == 0) {
if (flags & M_NOWAIT) {
OUT;
splx(s);
return (0);
OUT;
splx(s);
return (0);