usr/src/uts/common/vm/page_lock.c
changeset 3290 256464cbb73c
parent 3253 c929f34b62c5
child 3446 5903aece022d
--- a/usr/src/uts/common/vm/page_lock.c	Tue Dec 19 22:06:32 2006 -0800
+++ b/usr/src/uts/common/vm/page_lock.c	Tue Dec 19 23:13:06 2006 -0800
@@ -142,6 +142,12 @@
 
 extern	struct vnode	kvp;
 
+/*
+ * Two slots after VPH_TABLE_SIZE are reserved in vph_mutex for kernel vnodes.
+ * The lock for kvp is VPH_TABLE_SIZE + 0, and the lock for zvp is
+ * VPH_TABLE_SIZE + 1.
+ */
+
 kmutex_t	vph_mutex[VPH_TABLE_SIZE + 2];
 
 /*
@@ -861,6 +867,9 @@
 {
 	if (vp == &kvp)
 		return (&vph_mutex[VPH_TABLE_SIZE + 0]);
+
+	if (vp == &zvp)
+		return (&vph_mutex[VPH_TABLE_SIZE + 1]);
 #ifdef DEBUG
 	if (page_vnode_mutex_stress != 0)
 		return (&vph_mutex[0]);
@@ -913,7 +922,7 @@
 	ASSERT(!PP_ISFREE(pp));
 	ASSERT(pp->p_vnode != NULL);
 	ASSERT(!IS_SWAPFSVP(pp->p_vnode));
-	ASSERT(pp->p_vnode != &kvp);
+	ASSERT(!PP_ISKAS(pp));
 
 again:
 	if (pszc == 0) {