svn commit: r329012 - user/jeff/numa/sys/vm
Jeff Roberson
jeff at FreeBSD.org
Thu Feb 8 03:12:26 UTC 2018
Author: jeff
Date: Thu Feb 8 03:12:25 2018
New Revision: 329012
URL: https://svnweb.freebsd.org/changeset/base/329012
Log:
Don't attempt to batch frees for reservation holding objects at all. Don't hold the object lock while doing
frees for other objects.
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 Thu Feb 8 02:50:47 2018 (r329011)
+++ user/jeff/numa/sys/vm/vm_pageout.c Thu Feb 8 03:12:25 2018 (r329012)
@@ -1138,11 +1138,9 @@ vm_pageout_free_pages(struct pgo_pglist *pglist, vm_ob
pcount = MAX(object->iosize / PAGE_SIZE, 1);
count = 0;
- if (pcount == 1) {
- if (vm_pageout_pglist_append(pglist, m))
- count = 1;
+ if (pcount == 1 || vm_object_reserv(object)) {
+ vm_page_free(m);
vm_page_unlock(m);
- vm_pageout_pglist_flush(pglist, vm_object_reserv(object));
VM_OBJECT_WUNLOCK(object);
goto out;
}
@@ -1189,8 +1187,8 @@ free_page:
count++;
}
mtx_unlock(mtx);
- vm_pageout_pglist_flush(pglist, vm_object_reserv(object));
VM_OBJECT_WUNLOCK(object);
+ vm_pageout_pglist_flush(pglist, false);
out:
VM_CNT_ADD(v_dfree, count);
More information about the svn-src-user
mailing list