svn commit: r358097 - in head/sys: kern vm

Jeff Roberson jeff at FreeBSD.org
Wed Feb 19 08:17:28 UTC 2020


Author: jeff
Date: Wed Feb 19 08:17:27 2020
New Revision: 358097
URL: https://svnweb.freebsd.org/changeset/base/358097

Log:
  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

Modified:
  head/sys/kern/subr_vmem.c
  head/sys/kern/vfs_subr.c
  head/sys/vm/swap_pager.c
  head/sys/vm/vm_page.c
  head/sys/vm/vm_pager.c

Modified: head/sys/kern/subr_vmem.c
==============================================================================
--- head/sys/kern/subr_vmem.c	Wed Feb 19 08:15:20 2020	(r358096)
+++ head/sys/kern/subr_vmem.c	Wed Feb 19 08:17:27 2020	(r358097)
@@ -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);

Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c	Wed Feb 19 08:15:20 2020	(r358096)
+++ head/sys/kern/vfs_subr.c	Wed Feb 19 08:17:27 2020	(r358097)
@@ -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);

Modified: head/sys/vm/swap_pager.c
==============================================================================
--- head/sys/vm/swap_pager.c	Wed Feb 19 08:15:20 2020	(r358096)
+++ head/sys/vm/swap_pager.c	Wed Feb 19 08:17:27 2020	(r358097)
@@ -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;

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c	Wed Feb 19 08:15:20 2020	(r358096)
+++ head/sys/vm/vm_page.c	Wed Feb 19 08:17:27 2020	(r358097)
@@ -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 @@ again:
 #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;

Modified: head/sys/vm/vm_pager.c
==============================================================================
--- head/sys/vm/vm_pager.c	Wed Feb 19 08:15:20 2020	(r358096)
+++ head/sys/vm/vm_pager.c	Wed Feb 19 08:17:27 2020	(r358097)
@@ -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);
 }


More information about the svn-src-all mailing list