Changeset View
Changeset View
Standalone View
Standalone View
head/sys/kern/kern_exec.c
Show First 20 Lines • Show All 1,000 Lines • ▼ Show 20 Lines | if (ma[0]->valid != VM_PAGE_BITS_ALL) { | ||||
for (i = 1; i < initial_pagein; i++) { | for (i = 1; i < initial_pagein; i++) { | ||||
if ((ma[i] = vm_page_next(ma[i - 1])) != NULL) { | if ((ma[i] = vm_page_next(ma[i - 1])) != NULL) { | ||||
if (ma[i]->valid) | if (ma[i]->valid) | ||||
break; | break; | ||||
if (vm_page_tryxbusy(ma[i])) | if (vm_page_tryxbusy(ma[i])) | ||||
break; | break; | ||||
} else { | } else { | ||||
ma[i] = vm_page_alloc(object, i, | ma[i] = vm_page_alloc(object, i, | ||||
VM_ALLOC_NORMAL | VM_ALLOC_IFNOTCACHED); | VM_ALLOC_NORMAL); | ||||
if (ma[i] == NULL) | if (ma[i] == NULL) | ||||
break; | break; | ||||
} | } | ||||
} | } | ||||
initial_pagein = i; | initial_pagein = i; | ||||
rv = vm_pager_get_pages(object, ma, initial_pagein, NULL, NULL); | rv = vm_pager_get_pages(object, ma, initial_pagein, NULL, NULL); | ||||
if (rv != VM_PAGER_OK) { | if (rv != VM_PAGER_OK) { | ||||
for (i = 0; i < initial_pagein; i++) { | for (i = 0; i < initial_pagein; i++) { | ||||
▲ Show 20 Lines • Show All 616 Lines • Show Last 20 Lines |