|
Lines 706-720
Link Here
|
| 706 |
wait &= ~M_ZERO; |
706 |
wait &= ~M_ZERO; |
| 707 |
|
707 |
|
| 708 |
if (booted || (zone->uz_flags & UMA_ZFLAG_PRIVALLOC)) { |
708 |
if (booted || (zone->uz_flags & UMA_ZFLAG_PRIVALLOC)) { |
| 709 |
if ((wait & M_NOWAIT) == 0) { |
709 |
mem = zone->uz_allocf(zone, |
| 710 |
mtx_lock(&Giant); |
710 |
zone->uz_ppera * UMA_SLAB_SIZE, &flags, wait); |
| 711 |
mem = zone->uz_allocf(zone, |
|
|
| 712 |
zone->uz_ppera * UMA_SLAB_SIZE, &flags, wait); |
| 713 |
mtx_unlock(&Giant); |
| 714 |
} else { |
| 715 |
mem = zone->uz_allocf(zone, |
| 716 |
zone->uz_ppera * UMA_SLAB_SIZE, &flags, wait); |
| 717 |
} |
| 718 |
if (mem == NULL) { |
711 |
if (mem == NULL) { |
| 719 |
ZONE_LOCK(zone); |
712 |
ZONE_LOCK(zone); |
| 720 |
return (NULL); |
713 |
return (NULL); |