Author: rpaulo
Date: Tue Mar 24 20:09:55 2015
New Revision: 280457
URL: https://svnweb.freebsd.org/changeset/base/280457

Log:
  Use TUNABLE_INT_FETCH for boot_pages.
  
  vm.boot_pages is marked as a CTLFLAG_RDTUN, but it's used by the VM
  before the sysctl subsystem is initialsed.  We manually fetch the
  variable from the environment to work around this problem.
  
  Tested by:    Keith White kwhite at uottawa.ca
  MFC after:    1 week

Modified:
  head/sys/vm/vm_page.c

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c       Tue Mar 24 20:07:27 2015        (r280456)
+++ head/sys/vm/vm_page.c       Tue Mar 24 20:09:55 2015        (r280457)
@@ -134,8 +134,9 @@ long first_page;
 int vm_page_zero_count;
 
 static int boot_pages = UMA_BOOT_PAGES;
-SYSCTL_INT(_vm, OID_AUTO, boot_pages, CTLFLAG_RDTUN, &boot_pages, 0,
-       "number of pages allocated for bootstrapping the VM system");
+SYSCTL_INT(_vm, OID_AUTO, boot_pages, CTLFLAG_RDTUN | CTLFLAG_NOFETCH,
+    &boot_pages, 0,
+    "number of pages allocated for bootstrapping the VM system");
 
 static int pa_tryrelock_restart;
 SYSCTL_INT(_vm, OID_AUTO, tryrelock_restart, CTLFLAG_RD,
@@ -349,6 +350,7 @@ vm_page_startup(vm_offset_t vaddr)
         * Allocate memory for use when boot strapping the kernel memory
         * allocator.
         */
+       TUNABLE_INT_FETCH("vm.boot_pages", &boot_pages);
        new_end = end - (boot_pages * UMA_SLAB_SIZE);
        new_end = trunc_page(new_end);
        mapped = pmap_map(&vaddr, new_end, end,
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to