svn commit: r357253 - head/sys/vm
Konstantin Belousov
kib at FreeBSD.org
Wed Jan 29 12:02:47 UTC 2020
Author: kib
Date: Wed Jan 29 12:02:47 2020
New Revision: 357253
URL: https://svnweb.freebsd.org/changeset/base/357253
Log:
Restore OOM logic on page fault after r357026.
Right now OOM is initiated unconditionally on the page allocation
failure, after the wait.
Reported by: Mark Millard <marklmi at yahoo.com>
Reviewed by: cy, markj
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D23409
Modified:
head/sys/vm/vm_fault.c
Modified: head/sys/vm/vm_fault.c
==============================================================================
--- head/sys/vm/vm_fault.c Wed Jan 29 09:36:59 2020 (r357252)
+++ head/sys/vm/vm_fault.c Wed Jan 29 12:02:47 2020 (r357253)
@@ -1073,12 +1073,14 @@ vm_fault_allocate(struct faultstate *fs)
fs->oom < vm_pfault_oom_attempts) {
fs->oom++;
vm_waitpfault(dset, vm_pfault_oom_wait * hz);
+ } else {
+ if (bootverbose)
+ printf(
+ "proc %d (%s) failed to alloc page on fault, starting OOM\n",
+ curproc->p_pid, curproc->p_comm);
+ vm_pageout_oom(VM_OOM_MEM_PF);
+ fs->oom = 0;
}
- if (bootverbose)
- printf(
-"proc %d (%s) failed to alloc page on fault, starting OOM\n",
- curproc->p_pid, curproc->p_comm);
- vm_pageout_oom(VM_OOM_MEM_PF);
return (KERN_RESOURCE_SHORTAGE);
}
fs->oom = 0;
More information about the svn-src-head
mailing list