summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2012-08-14 17:01:21 +0000
committerdes <des@FreeBSD.org>2012-08-14 17:01:21 +0000
commit0c96728586b059b0713dcf45101abcfdb8d1310a (patch)
tree7d20beffd1daa12873a58736daa1ebbb0813f21a
parent8eab28ac2fb3af91a7a0b82f1470294637b9719f (diff)
downloadFreeBSD-src-0c96728586b059b0713dcf45101abcfdb8d1310a.zip
FreeBSD-src-0c96728586b059b0713dcf45101abcfdb8d1310a.tar.gz
As discussed on -current, remove the hardcoded default maxswzone.
MFC after: 3 weeks
-rw-r--r--sys/amd64/include/param.h8
-rw-r--r--sys/boot/common/loader.831
-rw-r--r--sys/i386/include/param.h8
3 files changed, 20 insertions, 27 deletions
diff --git a/sys/amd64/include/param.h b/sys/amd64/include/param.h
index 6dbeb40..9ddcf68 100644
--- a/sys/amd64/include/param.h
+++ b/sys/amd64/include/param.h
@@ -123,14 +123,6 @@
#define KSTACK_GUARD_PAGES 1 /* pages of kstack guard; 0 disables */
/*
- * Ceiling on amount of swblock kva space, can be changed via
- * the kern.maxswzone /boot/loader.conf variable.
- */
-#ifndef VM_SWZONE_SIZE_MAX
-#define VM_SWZONE_SIZE_MAX (32 * 1024 * 1024)
-#endif
-
-/*
* Mach derived conversion macros
*/
#define round_page(x) ((((unsigned long)(x)) + PAGE_MASK) & ~(PAGE_MASK))
diff --git a/sys/boot/common/loader.8 b/sys/boot/common/loader.8
index 36f260c..7386f72 100644
--- a/sys/boot/common/loader.8
+++ b/sys/boot/common/loader.8
@@ -613,17 +613,26 @@ Not all architectures use such buffers; see
for details.
.It Va kern.maxswzone
Limits the amount of KVM to be used to hold swap
-meta information, which directly governs the
-maximum amount of swap the system can support.
-This value is specified in bytes of KVA space
-and defaults to 32MBytes on i386 and amd64.
-Care should be taken
-to not reduce this value such that the actual
-amount of configured swap exceeds 1/2 the
-kernel-supported swap.
-The default of 32MB allows
-the kernel to support a maximum of ~7GB of swap.
-Only change
+metadata, which directly governs the
+maximum amount of swap the system can support,
+at the rate of approximately 200 MB of swap space
+per 1 MB of metadata.
+This value is specified in bytes of KVA space.
+If no value is provided, the system allocates
+enough memory to handle an amount of swap
+that corresponds to eight times the amount of
+physical memory present in the system.
+.Pp
+Note that swap metadata can be fragmented,
+which means that the system can run out of
+space before it reaches the theoretical limit.
+Therefore, care should be taken to not configure
+more swap than approximately half of the
+theoretical maximum.
+.Pp
+Running out of space for swap metadata can leave
+the system in an unrecoverable state.
+Therefore, you should only change
this parameter if you need to greatly extend the
KVM reservation for other resources such as the
buffer cache or
diff --git a/sys/i386/include/param.h b/sys/i386/include/param.h
index 6a0495c4..c1e1424 100644
--- a/sys/i386/include/param.h
+++ b/sys/i386/include/param.h
@@ -123,14 +123,6 @@
#define KSTACK_GUARD_PAGES 1 /* pages of kstack guard; 0 disables */
/*
- * Ceiling on amount of swblock kva space, can be changed via
- * the kern.maxswzone /boot/loader.conf variable.
- */
-#ifndef VM_SWZONE_SIZE_MAX
-#define VM_SWZONE_SIZE_MAX (32 * 1024 * 1024)
-#endif
-
-/*
* Ceiling on size of buffer cache (really only effects write queueing,
* the VM page cache is not effected), can be changed via
* the kern.maxbcache /boot/loader.conf variable.
OpenPOWER on IntegriCloud