View | Details | Raw Unified | Return to bug 54890
Collapse All | Expand All

(-)sys/vm/uma_core.c (-9 / +2 lines)
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);

Return to bug 54890