Do not preset PG_BUSY on VM_ALLOC_NOOBJ pages. Such pages are not
accessible through an object. Thus, PG_BUSY serves no purpose.
This commit is contained in:
parent
a6d8900933
commit
d45f21f31a
@ -1227,10 +1227,6 @@ _pmap_allocpte(pmap, ptepindex)
|
||||
*pd = VM_PAGE_TO_PHYS(m) | PG_U | PG_RW | PG_V | PG_A | PG_M;
|
||||
}
|
||||
|
||||
vm_page_lock_queues();
|
||||
vm_page_wakeup(m);
|
||||
vm_page_unlock_queues();
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
|
@ -1196,10 +1196,6 @@ _pmap_allocpte(pmap, ptepindex)
|
||||
pmap->pm_pdir[ptepindex] =
|
||||
(pd_entry_t) (ptepa | PG_U | PG_RW | PG_V | PG_A | PG_M);
|
||||
|
||||
vm_page_lock_queues();
|
||||
vm_page_wakeup(m);
|
||||
vm_page_unlock_queues();
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
|
@ -844,6 +844,8 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req)
|
||||
if (req & VM_ALLOC_ZERO)
|
||||
flags = PG_ZERO | PG_BUSY;
|
||||
}
|
||||
if (req & VM_ALLOC_NOOBJ)
|
||||
flags &= ~PG_BUSY;
|
||||
m->flags = flags;
|
||||
if (req & VM_ALLOC_WIRED) {
|
||||
atomic_add_int(&cnt.v_wire_count, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user