svn commit: r225388 - stable/8/sys/vm
Konstantin Belousov
kib at FreeBSD.org
Mon Sep 5 08:41:57 UTC 2011
Author: kib
Date: Mon Sep 5 08:41:57 2011
New Revision: 225388
URL: http://svn.freebsd.org/changeset/base/225388
Log:
MFC r225076:
Apply the limit to avoid the overflows in the radix tree subr_blist.c
after the conversion of the swap device size to the page size units,
not before.
Modified:
stable/8/sys/vm/swap_pager.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
Modified: stable/8/sys/vm/swap_pager.c
==============================================================================
--- stable/8/sys/vm/swap_pager.c Mon Sep 5 07:59:23 2011 (r225387)
+++ stable/8/sys/vm/swap_pager.c Mon Sep 5 08:41:57 2011 (r225388)
@@ -2083,16 +2083,6 @@ swaponsomething(struct vnode *vp, void *
u_long mblocks;
/*
- * If we go beyond this, we get overflows in the radix
- * tree bitmap code.
- */
- mblocks = 0x40000000 / BLIST_META_RADIX;
- if (nblks > mblocks) {
- printf("WARNING: reducing size to maximum of %lu blocks per swap unit\n",
- mblocks);
- nblks = mblocks;
- }
- /*
* nblks is in DEV_BSIZE'd chunks, convert to PAGE_SIZE'd chunks.
* First chop nblks off to page-align it, then convert.
*
@@ -2101,6 +2091,18 @@ swaponsomething(struct vnode *vp, void *
nblks &= ~(ctodb(1) - 1);
nblks = dbtoc(nblks);
+ /*
+ * If we go beyond this, we get overflows in the radix
+ * tree bitmap code.
+ */
+ mblocks = 0x40000000 / BLIST_META_RADIX;
+ if (nblks > mblocks) {
+ printf(
+ "WARNING: reducing swap size to maximum of %luMB per unit\n",
+ mblocks / 1024 / 1024 * PAGE_SIZE);
+ nblks = mblocks;
+ }
+
sp = malloc(sizeof *sp, M_VMPGDATA, M_WAITOK | M_ZERO);
sp->sw_vp = vp;
sp->sw_id = id;
More information about the svn-src-all
mailing list