Date: Mon, 26 Mar 2018 16:06:04 +0000 (UTC) From: Mark Johnston <markj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r331556 - user/markj/vm-playground/sys/vm Message-ID: <201803261606.w2QG64bx082497@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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)) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803261606.w2QG64bx082497>