mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-04 15:40:44 +00:00
vm_page: Let vm_page_init_page() take a pool parameter
This is useful for a subsequent patch which implements lazy initialization of vm_page structures using a dedicate vm_phys free page pool. No functional change intended. Reviewed by: alc, kib, emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D40399
This commit is contained in:
parent
ab250b02ba
commit
69ccea1c89
|
@ -245,7 +245,8 @@ efi_create_1t1_map(struct efi_md *map, int ndesc, int descsz)
|
|||
|
||||
m = PHYS_TO_VM_PAGE(va);
|
||||
if (m != NULL && VM_PAGE_TO_PHYS(m) == 0) {
|
||||
vm_page_init_page(m, va, -1);
|
||||
vm_page_init_page(m, va, -1,
|
||||
VM_FREEPOOL_DEFAULT);
|
||||
m->order = VM_NFREEORDER + 1; /* invalid */
|
||||
m->pool = VM_NFREEPOOL + 1; /* invalid */
|
||||
pmap_page_set_memattr_noflush(m, mode);
|
||||
|
|
|
@ -497,9 +497,8 @@ vm_page_domain_init(int domain)
|
|||
* lists.
|
||||
*/
|
||||
void
|
||||
vm_page_init_page(vm_page_t m, vm_paddr_t pa, int segind)
|
||||
vm_page_init_page(vm_page_t m, vm_paddr_t pa, int segind, int pool)
|
||||
{
|
||||
|
||||
m->object = NULL;
|
||||
m->ref_count = 0;
|
||||
m->busy_lock = VPB_FREED;
|
||||
|
@ -509,7 +508,7 @@ vm_page_init_page(vm_page_t m, vm_paddr_t pa, int segind)
|
|||
m->psind = 0;
|
||||
m->segind = segind;
|
||||
m->order = VM_NFREEORDER;
|
||||
m->pool = VM_FREEPOOL_DEFAULT;
|
||||
m->pool = pool;
|
||||
m->valid = m->dirty = 0;
|
||||
pmap_page_init(m);
|
||||
}
|
||||
|
@ -756,7 +755,8 @@ vm_page_startup(vm_offset_t vaddr)
|
|||
#if defined(__i386__) && defined(VM_PHYSSEG_DENSE)
|
||||
for (ii = 0; ii < vm_page_array_size; ii++) {
|
||||
m = &vm_page_array[ii];
|
||||
vm_page_init_page(m, (first_page + ii) << PAGE_SHIFT, 0);
|
||||
vm_page_init_page(m, (first_page + ii) << PAGE_SHIFT, 0,
|
||||
VM_FREEPOOL_DEFAULT);
|
||||
m->flags = PG_FICTITIOUS;
|
||||
}
|
||||
#endif
|
||||
|
@ -765,7 +765,7 @@ vm_page_startup(vm_offset_t vaddr)
|
|||
seg = &vm_phys_segs[segind];
|
||||
for (m = seg->first_page, pa = seg->start; pa < seg->end;
|
||||
m++, pa += PAGE_SIZE)
|
||||
vm_page_init_page(m, pa, segind);
|
||||
vm_page_init_page(m, pa, segind, VM_FREEPOOL_DEFAULT);
|
||||
|
||||
/*
|
||||
* Add the segment's pages that are covered by one of
|
||||
|
|
|
@ -645,7 +645,7 @@ void vm_page_free_invalid(vm_page_t);
|
|||
vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr);
|
||||
void vm_page_initfake(vm_page_t m, vm_paddr_t paddr, vm_memattr_t memattr);
|
||||
void vm_page_init_marker(vm_page_t marker, int queue, uint16_t aflags);
|
||||
void vm_page_init_page(vm_page_t m, vm_paddr_t pa, int segind);
|
||||
void vm_page_init_page(vm_page_t m, vm_paddr_t pa, int segind, int pool);
|
||||
int vm_page_insert (vm_page_t, vm_object_t, vm_pindex_t);
|
||||
void vm_page_invalid(vm_page_t m);
|
||||
void vm_page_launder(vm_page_t m);
|
||||
|
|
Loading…
Reference in a new issue