svn commit: r233958 - user/attilio/vmcontention/sys/vm

Attilio Rao attilio at FreeBSD.org
Fri Apr 6 19:49:46 UTC 2012


Author: attilio
Date: Fri Apr  6 19:49:45 2012
New Revision: 233958
URL: http://svn.freebsd.org/changeset/base/233958

Log:
  Free a cached page rather than only removing it.
  
  vm_page_cache_remove() should only be used in very little and specific
  cases (and marked as static likely) where the callers is going to take
  care also of the page flags appropriately, otherwise one can end up
  with a corrupted page.
  
  Reported by:	pho

Modified:
  user/attilio/vmcontention/sys/vm/vnode_pager.c

Modified: user/attilio/vmcontention/sys/vm/vnode_pager.c
==============================================================================
--- user/attilio/vmcontention/sys/vm/vnode_pager.c	Fri Apr  6 18:18:48 2012	(r233957)
+++ user/attilio/vmcontention/sys/vm/vnode_pager.c	Fri Apr  6 19:49:45 2012	(r233958)
@@ -416,7 +416,7 @@ vnode_pager_setsize(vp, nsize)
 				drop = NULL;
 				mtx_lock(&vm_page_queue_free_mtx);
 				if (m->object == object) {
-					vm_page_cache_remove(m);
+					vm_page_cache_free(m);
 					if (object->cached_page_count == 0)
 						drop = vp;
 				}


More information about the svn-src-user mailing list