Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_page.c
Show First 20 Lines • Show All 1,828 Lines • ▼ Show 20 Lines | |||||
again: | again: | ||||
m = NULL; | m = NULL; | ||||
#if VM_NRESERVLEVEL > 0 | #if VM_NRESERVLEVEL > 0 | ||||
/* | /* | ||||
* Can we allocate the page from a reservation? | * Can we allocate the page from a reservation? | ||||
*/ | */ | ||||
if (vm_object_reserv(object) && | if (vm_object_reserv(object) && | ||||
((m = vm_reserv_extend(req, object, pindex, domain, mpred)) != NULL || | (m = vm_reserv_alloc_page(object, pindex, domain, req, mpred)) != | ||||
(m = vm_reserv_alloc_page(req, object, pindex, domain, mpred)) != NULL)) { | NULL) { | ||||
domain = vm_phys_domain(m); | domain = vm_phys_domain(m); | ||||
vmd = VM_DOMAIN(domain); | vmd = VM_DOMAIN(domain); | ||||
goto found; | goto found; | ||||
} | } | ||||
#endif | #endif | ||||
vmd = VM_DOMAIN(domain); | vmd = VM_DOMAIN(domain); | ||||
if (object != NULL && vmd->vmd_pgcache != NULL) { | if (object != NULL && vmd->vmd_pgcache != NULL) { | ||||
m = uma_zalloc(vmd->vmd_pgcache, M_NOWAIT); | m = uma_zalloc(vmd->vmd_pgcache, M_NOWAIT); | ||||
▲ Show 20 Lines • Show All 187 Lines • ▼ Show 20 Lines | vm_page_alloc_contig_domain(vm_object_t object, vm_pindex_t pindex, int domain, | ||||
* below the lower bound for the allocation class? | * below the lower bound for the allocation class? | ||||
*/ | */ | ||||
again: | again: | ||||
#if VM_NRESERVLEVEL > 0 | #if VM_NRESERVLEVEL > 0 | ||||
/* | /* | ||||
* Can we allocate the pages from a reservation? | * Can we allocate the pages from a reservation? | ||||
*/ | */ | ||||
if (vm_object_reserv(object) && | if (vm_object_reserv(object) && | ||||
((m_ret = vm_reserv_extend_contig(req, object, pindex, domain, | (m_ret = vm_reserv_alloc_contig(object, pindex, domain, req, | ||||
npages, low, high, alignment, boundary, mpred)) != NULL || | mpred, npages, low, high, alignment, boundary)) != NULL) { | ||||
(m_ret = vm_reserv_alloc_contig(req, object, pindex, domain, | |||||
npages, low, high, alignment, boundary, mpred)) != NULL)) { | |||||
domain = vm_phys_domain(m_ret); | domain = vm_phys_domain(m_ret); | ||||
vmd = VM_DOMAIN(domain); | vmd = VM_DOMAIN(domain); | ||||
goto found; | goto found; | ||||
} | } | ||||
#endif | #endif | ||||
m_ret = NULL; | m_ret = NULL; | ||||
vmd = VM_DOMAIN(domain); | vmd = VM_DOMAIN(domain); | ||||
if (vm_domain_allocate(vmd, req, npages)) { | if (vm_domain_allocate(vmd, req, npages)) { | ||||
▲ Show 20 Lines • Show All 2,494 Lines • Show Last 20 Lines |