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);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to