Changeset View
Changeset View
Standalone View
Standalone View
head/sys/mips/mips/uma_machdep.c
Show First 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | #endif | ||||
for (;;) { | for (;;) { | ||||
m = vm_page_alloc_freelist_domain(domain, VM_FREELIST_DIRECT, | m = vm_page_alloc_freelist_domain(domain, VM_FREELIST_DIRECT, | ||||
pflags); | pflags); | ||||
#ifndef __mips_n64 | #ifndef __mips_n64 | ||||
if (m == NULL && vm_page_reclaim_contig(pflags, 1, | if (m == NULL && vm_page_reclaim_contig(pflags, 1, | ||||
0, MIPS_KSEG0_LARGEST_PHYS, PAGE_SIZE, 0)) | 0, MIPS_KSEG0_LARGEST_PHYS, PAGE_SIZE, 0)) | ||||
continue; | continue; | ||||
#endif | #endif | ||||
if (m == NULL) { | if (m != NULL) | ||||
if (wait & M_NOWAIT) | |||||
return (NULL); | |||||
else | |||||
VM_WAIT; | |||||
} else | |||||
break; | break; | ||||
if ((wait & M_NOWAIT) != 0) | |||||
return (NULL); | |||||
vm_wait(NULL); | |||||
} | } | ||||
pa = VM_PAGE_TO_PHYS(m); | pa = VM_PAGE_TO_PHYS(m); | ||||
if ((wait & M_NODUMP) == 0) | if ((wait & M_NODUMP) == 0) | ||||
dump_add_page(pa); | dump_add_page(pa); | ||||
va = (void *)MIPS_PHYS_TO_DIRECT(pa); | va = (void *)MIPS_PHYS_TO_DIRECT(pa); | ||||
if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) | if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) | ||||
bzero(va, PAGE_SIZE); | bzero(va, PAGE_SIZE); | ||||
Show All 15 Lines |