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:
Marcel Moolenaar 2003-05-26 22:54:18 +00:00
parent 177799b596
commit 941a057663
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=115339

View file

@ -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");