summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/param.h
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2013-03-27 10:52:18 +0000
committerkib <kib@FreeBSD.org>2013-03-27 10:52:18 +0000
commit2c9ac98d06e145d9199ec88f8f71a83c3b3881f7 (patch)
treeebaca2fa21208b6a8ca1caa08649e313559e78fe /sys/i386/include/param.h
parent180e2fcdc7fba9b47d94a88df00f5e61c7e07e44 (diff)
downloadFreeBSD-src-2c9ac98d06e145d9199ec88f8f71a83c3b3881f7.zip
FreeBSD-src-2c9ac98d06e145d9199ec88f8f71a83c3b3881f7.tar.gz
Fix the VM_BCACHE_SIZE_MAX definition on i386 to match the maximal
buffer map size, auto-tuned on the 4GB machine. Having the maxbcache bigger than the buffer map causes the transient bio map sizing logic to assume that there is enough KVA to use approximately 90MB (buffer map is sized to 110MB, and maxbcache is 200MB). The increase in the KVA usage caused other big KVA consumers, like nvidia.ko, to fail the initialization. Change the definition for both PAE and non-PAE cases, since PAE is even more KVA-starved. Reported and tested by: David Wolfskill Discussed with: alc Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/i386/include/param.h')
-rw-r--r--sys/i386/include/param.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/i386/include/param.h b/sys/i386/include/param.h
index b494f35..2d5f4a5 100644
--- a/sys/i386/include/param.h
+++ b/sys/i386/include/param.h
@@ -140,9 +140,12 @@
* 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.
+ *
+ * The value is equal to the size of the auto-tuned buffer map for
+ * the machine with 4GB of RAM, see vfs_bio.c:kern_vfs_bio_buffer_alloc().
*/
#ifndef VM_BCACHE_SIZE_MAX
-#define VM_BCACHE_SIZE_MAX (200 * 1024 * 1024)
+#define VM_BCACHE_SIZE_MAX (7224 * 16 * 1024)
#endif
/*
OpenPOWER on IntegriCloud