Date: Mon, 19 Feb 2018 21:58:12 +0000 (UTC) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r329604 - user/jeff/numa/sys/vm Message-ID: <201802192158.w1JLwCgc067006@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jeff Date: Mon Feb 19 21:58:12 2018 New Revision: 329604 URL: https://svnweb.freebsd.org/changeset/base/329604 Log: Use vm_page_held() instead of a direct check for hold count. Fix and simply the count in vm_pageout_free_pages(). Modified: user/jeff/numa/sys/vm/vm_pageout.c Modified: user/jeff/numa/sys/vm/vm_pageout.c ============================================================================== --- user/jeff/numa/sys/vm/vm_pageout.c Mon Feb 19 19:55:29 2018 (r329603) +++ user/jeff/numa/sys/vm/vm_pageout.c Mon Feb 19 21:58:12 2018 (r329604) @@ -1139,7 +1139,7 @@ vm_pageout_free_pages(struct pgo_pglist *pglist, vm_ob int pcount, count; pcount = MAX(object->iosize / PAGE_SIZE, 1); - count = 0; + count = 1; if (pcount == 1 || vm_object_reserv(object)) { vm_page_free(m); vm_page_unlock(m); @@ -1156,8 +1156,7 @@ vm_pageout_free_pages(struct pgo_pglist *pglist, vm_ob mtx = vm_page_lockptr(m); if (p == m) p = vm_page_next(m); - if (vm_pageout_pglist_append(pglist, m)) - count++; + vm_pageout_pglist_append(pglist, m); /* Iterate through the block range and free compatible pages. */ for (m = p; m != NULL && m->pindex < start + pcount; m = p) { p = TAILQ_NEXT(m, listq); @@ -1166,7 +1165,7 @@ vm_pageout_free_pages(struct pgo_pglist *pglist, vm_ob mtx = vm_page_lockptr(m); mtx_lock(mtx); } - if (m->hold_count || vm_page_busied(m) || + if (vm_page_held(m) || vm_page_busied(m) || m->queue != PQ_INACTIVE) continue; if (m->valid == 0)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201802192158.w1JLwCgc067006>