Revision 1.99 of this file changed the allocation request from
VM_ALLOC_INTERRUPT to VM_ALLOC_SYSTEM. There was no mention of this in commit log as it was considered harmless. Guess what: it does harm. WITNESS showed that we can not safely grab the page queue lock in vm_page_alloc() in all cases as we may have to sleep on it. Revert the request to VM_ALLOC_INTERRUPT to circumvent this. We panic if vm_page_alloc returns 0. I'm not entirely happy about this, but we have bigger fish to fry. Approved by: re@ (blanket)
This commit is contained in:
parent
177799b596
commit
941a057663
@ -921,7 +921,7 @@ pmap_growkernel(vm_offset_t addr)
|
||||
panic("pmap_growkernel: out of kernel address space");
|
||||
|
||||
nkpg = vm_page_alloc(NULL, nkpt,
|
||||
VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
|
||||
VM_ALLOC_NOOBJ | VM_ALLOC_INTERRUPT | VM_ALLOC_WIRED);
|
||||
if (!nkpg)
|
||||
panic("pmap_growkernel: no memory to grow kernel");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user