Skip site navigation (1)Skip section navigation (2)
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>