summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_fault.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r--sys/vm/vm_fault.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index 28e23fa..2e51181 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -402,13 +402,15 @@ RetryFault:;
vm_pageq_remove_nowakeup(fs.m);
- if (VM_PAGE_RESOLVEQUEUE(fs.m, queue) == PQ_CACHE &&
- vm_page_count_severe()) {
- vm_page_activate(fs.m);
- vm_page_unlock_queues();
- unlock_and_deallocate(&fs);
- VM_WAITPFAULT;
- goto RetryFault;
+ if (VM_PAGE_RESOLVEQUEUE(fs.m, queue) == PQ_CACHE) {
+ cnt.v_reactivated++;
+ if (vm_page_count_severe()) {
+ vm_page_activate(fs.m);
+ vm_page_unlock_queues();
+ unlock_and_deallocate(&fs);
+ VM_WAITPFAULT;
+ goto RetryFault;
+ }
}
vm_page_unlock_queues();
@@ -1335,6 +1337,6 @@ vm_fault_additional_pages(m, rbehind, rahead, marray, reqpage)
marray[i] = rtm;
}
- /* return number of bytes of pages */
+ /* return number of pages */
return i;
}
OpenPOWER on IntegriCloud