mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-17 15:27:36 +00:00
o Lock page queue accesses by vm_page_wire().
This commit is contained in:
parent
9175709532
commit
700399bc41
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=99987
@ -1071,9 +1071,11 @@ pmap_swapin_thread(td)
|
||||
m->valid = VM_PAGE_BITS_ALL;
|
||||
}
|
||||
ma[i] = m;
|
||||
vm_page_lock_queues();
|
||||
vm_page_wire(m);
|
||||
vm_page_wakeup(m);
|
||||
vm_page_flag_set(m, PG_MAPPED | PG_WRITEABLE);
|
||||
vm_page_unlock_queues();
|
||||
}
|
||||
pmap_qenter(ks, ma, KSTACK_PAGES);
|
||||
}
|
||||
@ -1521,7 +1523,9 @@ pmap_growkernel(vm_offset_t addr)
|
||||
|
||||
nkpt++;
|
||||
|
||||
vm_page_lock_queues();
|
||||
vm_page_wire(nkpg);
|
||||
vm_page_unlock_queues();
|
||||
pmap_zero_page(nkpg);
|
||||
ptppaddr = VM_PAGE_TO_PHYS(nkpg);
|
||||
newpdir = (pd_entry_t) (ptppaddr | PG_V | PG_RW | PG_A | PG_M);
|
||||
|
@ -1071,9 +1071,11 @@ pmap_swapin_thread(td)
|
||||
m->valid = VM_PAGE_BITS_ALL;
|
||||
}
|
||||
ma[i] = m;
|
||||
vm_page_lock_queues();
|
||||
vm_page_wire(m);
|
||||
vm_page_wakeup(m);
|
||||
vm_page_flag_set(m, PG_MAPPED | PG_WRITEABLE);
|
||||
vm_page_unlock_queues();
|
||||
}
|
||||
pmap_qenter(ks, ma, KSTACK_PAGES);
|
||||
}
|
||||
@ -1521,7 +1523,9 @@ pmap_growkernel(vm_offset_t addr)
|
||||
|
||||
nkpt++;
|
||||
|
||||
vm_page_lock_queues();
|
||||
vm_page_wire(nkpg);
|
||||
vm_page_unlock_queues();
|
||||
pmap_zero_page(nkpg);
|
||||
ptppaddr = VM_PAGE_TO_PHYS(nkpg);
|
||||
newpdir = (pd_entry_t) (ptppaddr | PG_V | PG_RW | PG_A | PG_M);
|
||||
|
Loading…
Reference in New Issue
Block a user