Index: head/sys/vm/swap_pager.c =================================================================== --- head/sys/vm/swap_pager.c +++ head/sys/vm/swap_pager.c @@ -590,6 +590,7 @@ if (n < n2) printf("Swap blk zone entries changed from %lu to %lu.\n", n2, n); + /* absolute maximum we can handle assuming 100% efficiency */ swap_maxpages = n * SWAP_META_PAGES; swzone = n * sizeof(struct swblk); if (!uma_zone_reserve_kva(swpctrie_zone, n)) @@ -2250,17 +2251,12 @@ static void swapon_check_swzone(void) { - unsigned long maxpages, npages; - npages = swap_total; - /* absolute maximum we can handle assuming 100% efficiency */ - maxpages = uma_zone_get_max(swblk_zone) * SWAP_META_PAGES; - /* recommend using no more than half that amount */ - if (npages > maxpages / 2) { + if (swap_total > swap_maxpages / 2) { printf("warning: total configured swap (%lu pages) " "exceeds maximum recommended amount (%lu pages).\n", - npages, maxpages / 2); + swap_total, swap_maxpages / 2); printf("warning: increase kern.maxswzone " "or reduce amount of swap.\n"); }