Date: Thu, 12 Mar 2009 22:01:42 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r189750 - stable/7/sys/vm Message-ID: <200903122201.n2CM1g8A041773@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903122201.n2CM1g8A041773>