Changeset View
Changeset View
Standalone View
Standalone View
user/alc/PQ_LAUNDRY/sys/dev/drm2/ttm/ttm_page_alloc.c
Show First 20 Lines • Show All 160 Lines • ▼ Show 20 Lines | ttm_vm_page_alloc_dma32(int req, vm_memattr_t memattr) | ||||
vm_page_t p; | vm_page_t p; | ||||
int tries; | int tries; | ||||
for (tries = 0; ; tries++) { | for (tries = 0; ; tries++) { | ||||
p = vm_page_alloc_contig(NULL, 0, req, 1, 0, 0xffffffff, | p = vm_page_alloc_contig(NULL, 0, req, 1, 0, 0xffffffff, | ||||
PAGE_SIZE, 0, memattr); | PAGE_SIZE, 0, memattr); | ||||
if (p != NULL || tries > 2) | if (p != NULL || tries > 2) | ||||
return (p); | return (p); | ||||
if (!vm_page_reclaim_contig(req, 1, 0, 0xffffffff, | |||||
/* | PAGE_SIZE, 0)) | ||||
* Before growing the cache see if this is just a normal | |||||
* memory shortage. | |||||
*/ | |||||
VM_WAIT; | VM_WAIT; | ||||
vm_pageout_grow_cache(tries, 0, 0xffffffff); | |||||
} | } | ||||
} | } | ||||
static vm_page_t | static vm_page_t | ||||
ttm_vm_page_alloc_any(int req, vm_memattr_t memattr) | ttm_vm_page_alloc_any(int req, vm_memattr_t memattr) | ||||
{ | { | ||||
vm_page_t p; | vm_page_t p; | ||||
▲ Show 20 Lines • Show All 746 Lines • Show Last 20 Lines |