svn commit: r195095 - user/kmacy/releng_7_2_fcs/sys/vm

Kip Macy kmacy at FreeBSD.org
Sat Jun 27 06:37:09 UTC 2009


Author: kmacy
Date: Sat Jun 27 06:37:08 2009
New Revision: 195095
URL: http://svn.freebsd.org/changeset/base/195095

Log:
  add note that change is a band-aid

Modified:
  user/kmacy/releng_7_2_fcs/sys/vm/vm_pageout.c

Modified: user/kmacy/releng_7_2_fcs/sys/vm/vm_pageout.c
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/vm/vm_pageout.c	Sat Jun 27 06:05:10 2009	(r195094)
+++ user/kmacy/releng_7_2_fcs/sys/vm/vm_pageout.c	Sat Jun 27 06:37:08 2009	(r195095)
@@ -1089,6 +1089,15 @@ unlock_and_continue:
 
 		next = TAILQ_NEXT(m, pageq);
 		object = m->object;
+
+		/*
+		 * XXX note that the object == NULL check is a band-aid
+		 * that narrows the race - but really we need to acquire the
+		 * page lock before checking the validity of the object pointer
+		 * this in turn requires that we trylock the page before
+		 * trylocking the object which in turn complicates error
+		 * handling slightly
+		 */
 		if ((object == NULL) || (m->flags & PG_MARKER) != 0) {
 			m = next;
 			continue;


More information about the svn-src-user mailing list