diff options
author | marcel <marcel@FreeBSD.org> | 2003-05-26 22:54:18 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2003-05-26 22:54:18 +0000 |
commit | 2e3e224616c11e9dd11191a2aec4764f74a4ff70 (patch) | |
tree | 0c73bd2f55103db9df29a29c1f103a320fa1c997 | |
parent | 40cb42997301273b06ccf717f0acd345b8c18b9a (diff) | |
download | FreeBSD-src-2e3e224616c11e9dd11191a2aec4764f74a4ff70.zip FreeBSD-src-2e3e224616c11e9dd11191a2aec4764f74a4ff70.tar.gz |
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)
-rw-r--r-- | sys/ia64/ia64/pmap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c index 5f75500..d99d37e 100644 --- a/sys/ia64/ia64/pmap.c +++ b/sys/ia64/ia64/pmap.c @@ -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"); |