svn commit: r189750 - stable/7/sys/vm

John Baldwin jhb at FreeBSD.org
Thu Mar 12 15:01:43 PDT 2009


Author: jhb
Date: Thu Mar 12 22:01:42 2009
New Revision: 189750
URL: http://svn.freebsd.org/changeset/base/189750

Log:
  Disable the vm_page_startup assertion for now.  It always fails on
  platforms with superpages currently because the pages used by
  vm_reserv_startup() are incorrectly included in the 'npages' count.  I
  haven't removed the assertion as I think this is a real bug, but the side
  effect is just that some memory is wasted on never-used vm_page structures.
  
  The assertion was removed from HEAD which is why the bug wasn't noticed
  there (and thus this is a direct commit to 7).

Modified:
  stable/7/sys/vm/vm_page.c

Modified: stable/7/sys/vm/vm_page.c
==============================================================================
--- stable/7/sys/vm/vm_page.c	Thu Mar 12 20:41:52 2009	(r189749)
+++ stable/7/sys/vm/vm_page.c	Thu Mar 12 22:01:42 2009	(r189750)
@@ -363,15 +363,21 @@ vm_page_startup(vm_offset_t vaddr)
 		vm_page_array[i].order = VM_NFREEORDER;
 	vm_page_array_size = page_range;
 
+#if 0
 	/*
 	 * This assertion tests the hypothesis that npages and total are
 	 * redundant.  XXX
+	 *
+	 * XXX: This always fails if VM_NRESERVLEVEL > 0 because
+	 * npages includes the memory for vm_reserv_startup() but
+	 * page_range doesn't.
 	 */
 	page_range = 0;
 	for (i = 0; phys_avail[i + 1] != 0; i += 2)
 		page_range += atop(phys_avail[i + 1] - phys_avail[i]);
 	KASSERT(page_range == npages,
 	    ("vm_page_startup: inconsistent page counts"));
+#endif
 
 	/*
 	 * Initialize the physical memory allocator.


More information about the svn-src-all mailing list