svn commit: r286868 - head/sys/amd64/amd64
Marcel Moolenaar
marcel at FreeBSD.org
Tue Aug 18 01:53:42 UTC 2015
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;
}
More information about the svn-src-all
mailing list