Subject: kernel tuning
To: None <port-arm32@netbsd.org>
From: Matthias Pfaller <leo@dachau.marco.de>
List: port-arm32
Date: 02/24/1999 14:15:10
Hi,

on my SHARK the kernel only allocates 307 buffers. Does anybody know why
the arm32 uses such a small area for kvm? I was able to cut down
my kernel compile time from 21:30 to 19:30 by

- applying the following patch:
	--- sys/arch/arm32/include/vmparam.h.ORIG	Thu Jan 21 10:12:27 1999
	+++ sys/arch/arm32/include/vmparam.h	Tue Feb 23 11:48:20 1999
	@@ -99,7 +99,7 @@
	 #define	KERNEL_TEXT_BASE	KERNEL_BASE
	 #define	ALT_PAGE_TBLS_BASE	0xf0c00000
	 #define	KERNEL_VM_BASE		0xf1000000
	-#define	KERNEL_VM_SIZE		0x03000000
	+#define	KERNEL_VM_SIZE		0x0d000000
	 #define	PROCESS_PAGE_TBLS_BASE	PAGE_TABLE_SPACE_START
	 
	 /*
	@@ -123,7 +123,7 @@
	 /* XXX max. amount of KVM to be used by buffers. */
	 #ifndef VM_MAX_KERNEL_BUF
	 #define VM_MAX_KERNEL_BUF \
	-	((VM_MAXKERN_ADDRESS - KERNEL_VM_BASE) * 4 / 10)
	+	((VM_MAXKERN_ADDRESS - KERNEL_VM_BASE) * 5 / 10)
	 #endif
	 
	 /* virtual sizes (bytes) for various kernel submaps */

- putting
	options NBUF=1300
	options BUFPAGES=2600
  into my kernel config file. Now I get

	NetBSD 1.3I (LETHE) #82: Tue Feb 23 14:42:03 CET 1999
	    leo@lethe:/usr/src/sys/arch/arm32/compile/LETHE
	real mem  = 67108864
	avail mem = 51380224
	using 1300 buffers containing 10649600 bytes of memory
  when booting.

- and doing a
	sysctl -w kern.maxvnodes=2048
  into my /etc/rc.local

Next thing to do is building the world to see how much that improved.

Matthias
-- 
Matthias Pfaller                            Software Entwicklung
marco Systemanalyse und Entwicklung GmbH    Tel   +49 8131 5161-41
Hans-Böckler-Str. 2, D 85221 Dachau         Fax   +49 8131 5161-66
http://www.marco.de/                        Email leo@dachau.marco.de