svn commit: r341716 - stable/12/sys/vm
Konstantin Belousov
kib at FreeBSD.org
Sat Dec 8 00:46:06 UTC 2018
Author: kib
Date: Sat Dec 8 00:46:05 2018
New Revision: 341716
URL: https://svnweb.freebsd.org/changeset/base/341716
Log:
MFC r341375:
Allow to create swap zone larger than v_page_count / 2.
Modified:
stable/12/sys/vm/swap_pager.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/vm/swap_pager.c
==============================================================================
--- stable/12/sys/vm/swap_pager.c Sat Dec 8 00:44:44 2018 (r341715)
+++ stable/12/sys/vm/swap_pager.c Sat Dec 8 00:46:05 2018 (r341716)
@@ -547,12 +547,12 @@ swap_pager_swap_init(void)
mtx_unlock(&pbuf_mtx);
/*
- * Initialize our zone, guessing on the number we need based
- * on the number of pages in the system.
+ * Initialize our zone, taking the user's requested size or
+ * estimating the number we need based on the number of pages
+ * in the system.
*/
- n = vm_cnt.v_page_count / 2;
- if (maxswzone && n > maxswzone / sizeof(struct swblk))
- n = maxswzone / sizeof(struct swblk);
+ 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);
if (swpctrie_zone == NULL)
@@ -580,7 +580,7 @@ swap_pager_swap_init(void)
n = uma_zone_get_max(swblk_zone);
if (n < n2)
- printf("Swap blk zone entries reduced from %lu to %lu.\n",
+ printf("Swap blk zone entries changed from %lu to %lu.\n",
n2, n);
swap_maxpages = n * SWAP_META_PAGES;
swzone = n * sizeof(struct swblk);
More information about the svn-src-all
mailing list