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
This commit is contained in:
parent
ec6b1f6acc
commit
4a99d3f571
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user