svn commit: r248789 - head/sys/i386/include

Konstantin Belousov kib at FreeBSD.org
Wed Mar 27 10:52:19 UTC 2013


Author: kib
Date: Wed Mar 27 10:52:18 2013
New Revision: 248789
URL: http://svnweb.freebsd.org/changeset/base/248789

Log:
  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

Modified:
  head/sys/i386/include/param.h

Modified: head/sys/i386/include/param.h
==============================================================================
--- head/sys/i386/include/param.h	Wed Mar 27 10:11:43 2013	(r248788)
+++ head/sys/i386/include/param.h	Wed Mar 27 10:52:18 2013	(r248789)
@@ -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
 
 /*


More information about the svn-src-all mailing list