Author: marcel
Date: Tue Aug 18 01:53:41 2015
New Revision: 286868
URL: https://svnweb.freebsd.org/changeset/base/286868

Log:
  Add 24 more page table pages we allocate on boot-up. 16MB slop
  is a little tight in and by itself, but severily insufficient
  when one needs to map a large frame buffer as part of console
  initialization. 64MB slop should be enough for a while. As an
  example: a 15" MacBook Pro with retina display needs ~28MB of
  KVA for the frame buffer.
  
  PR:           193745

Modified:
  head/sys/amd64/amd64/pmap.c

Modified: head/sys/amd64/amd64/pmap.c
==============================================================================
--- head/sys/amd64/amd64/pmap.c Tue Aug 18 00:47:02 2015        (r286867)
+++ head/sys/amd64/amd64/pmap.c Tue Aug 18 01:53:41 2015        (r286868)
@@ -699,8 +699,14 @@ nkpt_init(vm_paddr_t addr)
         * pmap_growkernel() will need to allocate page table pages to map
         * the entire 512GB of KVA space which is an unnecessary tax on
         * physical memory.
+        *
+        * Secondly, device memory mapped as part of setting up the low-
+        * level console(s) is taken from KVA, starting at virtual_avail.
+        * This is because cninit() is called after pmap_bootstrap() but
+        * before vm_init() and pmap_init(). 20MB for a frame buffer is
+        * not uncommon.
         */
-       pt_pages += 8;          /* 16MB additional slop for kernel modules */
+       pt_pages += 32;         /* 64MB additional slop. */
 #endif
        nkpt = pt_pages;
 }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to