Eliminate some unnecessary uses of UMA_ZONE_VM. Only zones involved in
virtual address or physical page allocation need to be marked with this flag. Reviewed by: markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D23712
This commit is contained in:
parent
bf7dba0b91
commit
6c5f36ff30
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=358097
@ -561,8 +561,7 @@ qc_init(vmem_t *vm, vmem_size_t qcache_max)
|
||||
qc->qc_vmem = vm;
|
||||
qc->qc_size = size;
|
||||
qc->qc_cache = uma_zcache_create(qc->qc_name, size,
|
||||
NULL, NULL, NULL, NULL, qc_import, qc_release, qc,
|
||||
UMA_ZONE_VM);
|
||||
NULL, NULL, NULL, NULL, qc_import, qc_release, qc, 0);
|
||||
MPASS(qc->qc_cache);
|
||||
}
|
||||
}
|
||||
@ -668,10 +667,10 @@ vmem_startup(void)
|
||||
mtx_init(&vmem_list_lock, "vmem list lock", NULL, MTX_DEF);
|
||||
vmem_zone = uma_zcreate("vmem",
|
||||
sizeof(struct vmem), NULL, NULL, NULL, NULL,
|
||||
UMA_ALIGN_PTR, UMA_ZONE_VM);
|
||||
UMA_ALIGN_PTR, 0);
|
||||
vmem_bt_zone = uma_zcreate("vmem btag",
|
||||
sizeof(struct vmem_btag), NULL, NULL, NULL, NULL,
|
||||
UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE);
|
||||
UMA_ALIGN_PTR, UMA_ZONE_VM);
|
||||
#ifndef UMA_MD_SMALL_ALLOC
|
||||
mtx_init(&vmem_bt_lock, "btag lock", NULL, MTX_DEF);
|
||||
uma_prealloc(vmem_bt_zone, BT_MAXALLOC);
|
||||
|
@ -671,7 +671,7 @@ vntblinit(void *dummy __unused)
|
||||
*/
|
||||
buf_trie_zone = uma_zcreate("BUF TRIE", pctrie_node_size(),
|
||||
NULL, NULL, pctrie_zone_init, NULL, UMA_ALIGN_PTR,
|
||||
UMA_ZONE_NOFREE | UMA_ZONE_VM);
|
||||
UMA_ZONE_NOFREE);
|
||||
uma_prealloc(buf_trie_zone, nbuf);
|
||||
|
||||
vnodes_created = counter_u64_alloc(M_WAITOK);
|
||||
|
@ -585,11 +585,11 @@ swap_pager_swap_init(void)
|
||||
n = maxswzone != 0 ? maxswzone / sizeof(struct swblk) :
|
||||
vm_cnt.v_page_count / 2;
|
||||
swpctrie_zone = uma_zcreate("swpctrie", pctrie_node_size(), NULL, NULL,
|
||||
pctrie_zone_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM);
|
||||
pctrie_zone_init, NULL, UMA_ALIGN_PTR, 0);
|
||||
if (swpctrie_zone == NULL)
|
||||
panic("failed to create swap pctrie zone.");
|
||||
swblk_zone = uma_zcreate("swblk", sizeof(struct swblk), NULL, NULL,
|
||||
NULL, NULL, _Alignof(struct swblk) - 1, UMA_ZONE_VM);
|
||||
NULL, NULL, _Alignof(struct swblk) - 1, 0);
|
||||
if (swblk_zone == NULL)
|
||||
panic("failed to create swap blk zone.");
|
||||
n2 = n;
|
||||
|
@ -202,7 +202,7 @@ vm_page_init(void *dummy)
|
||||
{
|
||||
|
||||
fakepg_zone = uma_zcreate("fakepg", sizeof(struct vm_page), NULL, NULL,
|
||||
NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE | UMA_ZONE_VM);
|
||||
NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
|
||||
bogus_page = vm_page_alloc(NULL, 0, VM_ALLOC_NOOBJ |
|
||||
VM_ALLOC_NORMAL | VM_ALLOC_WIRED);
|
||||
}
|
||||
@ -2022,7 +2022,7 @@ vm_page_alloc_domain_after(vm_object_t object, vm_pindex_t pindex, int domain,
|
||||
#endif
|
||||
vmd = VM_DOMAIN(domain);
|
||||
if (vmd->vmd_pgcache[pool].zone != NULL) {
|
||||
m = uma_zalloc(vmd->vmd_pgcache[pool].zone, M_NOWAIT);
|
||||
m = uma_zalloc(vmd->vmd_pgcache[pool].zone, M_NOWAIT | M_NOVM);
|
||||
if (m != NULL) {
|
||||
flags |= PG_PCPU_CACHE;
|
||||
goto found;
|
||||
|
@ -185,7 +185,7 @@ vm_pager_bufferinit(void)
|
||||
/* Main zone for paging bufs. */
|
||||
pbuf_zone = uma_zcreate("pbuf", sizeof(struct buf),
|
||||
pbuf_ctor, pbuf_dtor, pbuf_init, NULL, UMA_ALIGN_CACHE,
|
||||
UMA_ZONE_VM | UMA_ZONE_NOFREE);
|
||||
UMA_ZONE_NOFREE);
|
||||
/* Few systems may still use this zone directly, so it needs a limit. */
|
||||
nswbuf_max += uma_zone_set_max(pbuf_zone, NSWBUF_MIN);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user