svn commit: r331556 - user/markj/vm-playground/sys/vm
Mark Johnston
markj at FreeBSD.org
Mon Mar 26 16:06:04 UTC 2018
Author: markj
Date: Mon Mar 26 16:06:04 2018
New Revision: 331556
URL: https://svnweb.freebsd.org/changeset/base/331556
Log:
Fix some accounting errors in vm_page_alloc_pages_domain_after().
Modified:
user/markj/vm-playground/sys/vm/vm_page.c
Modified: user/markj/vm-playground/sys/vm/vm_page.c
==============================================================================
--- user/markj/vm-playground/sys/vm/vm_page.c Mon Mar 26 15:22:25 2018 (r331555)
+++ user/markj/vm-playground/sys/vm/vm_page.c Mon Mar 26 16:06:04 2018 (r331556)
@@ -1968,15 +1968,15 @@ again:
VM_FREEPOOL_DIRECT;
vm_domain_free_lock(vmd);
do {
- i = vm_phys_alloc_npages(domain, pool, &m,
- avail - nalloc);
+ i = vm_phys_alloc_npages(domain, pool, &m, avail);
if (i == 0) {
- vm_domain_freecnt_inc(vmd, avail - nalloc);
+ vm_domain_freecnt_inc(vmd, avail);
break;
}
+ avail -= i;
for (; i > 0; i--)
ma[nalloc++] = m++;
- } while (nalloc < avail);
+ } while (avail > 0);
vm_domain_free_unlock(vmd);
}
if (nalloc == 0 || (nalloc < nreq && (req & VM_ALLOC_WAITOK) != 0)) {
More information about the svn-src-user
mailing list