From owner-freebsd-arch Tue Feb 26 1:24: 2 2002 Delivered-To: freebsd-arch@freebsd.org Received: from rina.r.dl.itc.u-tokyo.ac.jp (rina.r.dl.itc.u-tokyo.ac.jp [133.11.199.247]) by hub.freebsd.org (Postfix) with ESMTP id A28FD37B405 for ; Tue, 26 Feb 2002 01:23:51 -0800 (PST) Received: from rina.r.dl.itc.u-tokyo.ac.jp (localhost [127.0.0.1]) by rina.r.dl.itc.u-tokyo.ac.jp (8.12.2/3.7W-rina.r-Nankai-Koya) with ESMTP id g1Q9NkVh093544 ; Tue, 26 Feb 2002 18:23:46 +0900 (JST) Message-Id: <200202260923.g1Q9NkVh093544@rina.r.dl.itc.u-tokyo.ac.jp> Date: Tue, 26 Feb 2002 18:23:45 +0900 From: Seigo Tanimura To: Matthew Dillon Cc: Terry Lambert , Seigo Tanimura , arch@FreeBSD.ORG Subject: Re: reclaiming v_data of free vnodes In-Reply-To: <200202251754.g1PHsTs50126@apollo.backplane.com> References: <200202231556.g1NFu9N9040749@silver.carrots.uucp.r.dl.itc.u-tokyo.ac.jp> <200202242041.g1OKfXt95731@apollo.backplane.com> <200202250325.g1P3PVN9092431@silver.carrots.uucp.r.dl.itc.u-tokyo.ac.jp> <200202250444.g1P4i8X29005@apollo.backplane.com> <200202251437.g1PEb12R001419@bunko> <3C7A5D24.E11A6693@mindspring.com> <200202251754.g1PHsTs50126@apollo.backplane.com> User-Agent: Wanderlust/2.8.1 (Something) SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (=?ISO-8859-1?Q?Unebigory=F2mae?=) APEL/10.3 MULE XEmacs/21.1 (patch 14) (Cuyahoga Valley) (i386--freebsd) Organization: Digital Library Research Division, Information Techinology Centre, The University of Tokyo MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: multipart/mixed; boundary="Multipart_Tue_Feb_26_18:23:45_2002-1" Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --Multipart_Tue_Feb_26_18:23:45_2002-1 Content-Type: text/plain; charset=US-ASCII On Mon, 25 Feb 2002 09:54:29 -0800 (PST), Matthew Dillon said: dillon> :Seigo Tanimura wrote: dillon> :> One question before increasing kern.vm.kmem.size: why does ffs not use dillon> :> the zone allocator for inodes? dillon> : dillon> :It doesn't need to, so it doesn't. dillon> : dillon> :-- Terry dillon> I supose it could. It doesn't for historical reasons and also probably dillon> because the size of an 'inode' depends on the filesystem. How many new dillon> zones do you want to wind up with? AFAIK, all of ffs, ifs and ext2fs utilize struct inode and dinode. They deal with the filesystem-specific data by a union. All of the filesystems should thus be able to share a single zone. Also, since an in-code inode is never allocated during interrupt, we can allocate an inode in an on-demand manner. (ie ZONE_INTERRUPT is not required) For the better observation of KVM usage, I attach the results of vmstat -mz on cvsup.jp.FreeBSD.org. --Multipart_Tue_Feb_26_18:23:45_2002-1 Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline; filename="vmstat-mz.cvsup.jp.FreeBSD.org.txt" Content-Transfer-Encoding: 7bit Memory statistics by bucket size Size In Use Free Requests HighWater Couldfree 16 1733 1083 254474736 1280 0 32 2225 1999 21695880 640 2542 64 279661 74835 170616113 320 1609 128 67759 133873 5176585 160 304258 256 326620 34180 79722025 80 23083 512 1367 110145 1629327 40 264777 1K 185 2979 5146563 20 2592719 2K 21 293 150659 10 123120 4K 159 1 12619 5 0 8K 4 22 44191 5 43889 16K 15 0 15 5 0 32K 3 0 9 5 0 64K 1 0 1 5 0 128K 2 0 2 5 0 256K 2 0 2 5 0 512K 6 0 6 5 0 Memory usage type by bucket size Size Type(s) 16 nexusdev, UFS dirhash, newdirblk, p1003.1b, NFSV3 srvdesc, ip6_moptions, in6_multi, igmp, routetbl, ether_multi, vnodes, mount, pcb, soname, rman, mbufmgr, bus, sysctloid, sysctl, ip6ndp, temp, devbuf, linker, atexit, proc-args, acpica, acpidev, DEVFS 32 atkbddev, UFS dirhash, dirrem, mkdir, diradd, freefile, freefrag, indirdep, bmsafemap, newblk, tseg_qent, in_multi, routetbl, ether_multi, ifaddr, vnodes, cluster_save buffer, pcb, soname, sbuf, mbufmgr, eventhandler, bus, SWAP, sysctloid, sysctl, uidinfo, temp, devbuf, lockf, linker, proc-args, sigio, acpica, pfs_vncache 64 UFS dirhash, allocindir, allocdirect, pagedep, NFS daemon, NFS req, in6_multi, routetbl, ether_multi, BPF, vnodes, cluster_save buffer, vfscache, pcb, iov, rman, mbufmgr, bus, sysctloid, sysctl, subproc, module, acpisem, ip6ndp, temp, devbuf, lockf, ithread, proc-args, file, acpica, isadev 128 ZONE, ppbusdev, UFS dirhash, freeblks, inodedep, NFS srvsock, ip_moptions, routetbl, vnodes, mount, vfscache, soname, ttys, taskqueue, mbufmgr, eventhandler, bus, timecounter, cred, session, pgrp, module, ip6ndp, temp, devbuf, ithread, zombie, proc-args, acpica, pfs_nodes, DEVFS 256 UFS mount, UFS dirhash, FFS node, newblk, NFS daemon, NFSV3 srvdesc, routetbl, ifaddr, vnodes, Export Host, vfscache, iov, bus, subproc, temp, devbuf, linker, proc-args, kqueue, file desc, dev_t, acpica 512 UFS dirhash, NFS daemon, NFSV3 diroff, routetbl, lo, ifaddr, mount, vfscache, BIO buffer, ptys, ttys, msg, ioctlops, bus, ip6ndp, temp, devbuf, file desc, acpica 1K UFS dirhash, BIO buffer, sem, ioctlops, MD disk, bus, uidinfo, temp, devbuf, kqueue, file desc, acpica 2K UFS mount, UFS dirhash, ifaddr, BIO buffer, pcb, bus, temp, devbuf, file desc 4K memdesc, UFS mount, UFS dirhash, sem, msg, sbuf, kobj, bus, proc, temp, devbuf 8K UFS mount, UFS dirhash, indirdep, syncache, temp, DEVFS 16K shm, msg, devbuf 32K mbufmgr, temp, devbuf, pfs_fileno 64K temp 128K pagedep, mbufmgr 256K VM pgdata, UFS mount 512K UFS ihash, inodedep, NFS hash, vfscache, SWAP, ISOFS mount Memory statistics by type Type Kern Type InUse MemUse HighUse Limit Requests Limit Limit Size(s) atkbddev 2 1K 1K102400K 2 0 0 32 nexusdev 7 1K 1K102400K 7 0 0 16 memdesc 1 4K 4K102400K 1 0 0 4K ZONE 17 3K 3K102400K 17 0 0 128 VM pgdata 1 256K 256K102400K 1 0 0 256K ppbusdev 3 1K 1K102400K 3 0 0 128 UFS mount 18 176K 176K102400K 18 0 0 256,2K,4K,8K,256K UFS ihash 1 512K 512K102400K 1 0 0 512K UFS dirhash 1752 592K 2157K102400K 198303 0 0 16,32,64,128,256,512,1K,2K,4K,8K FFS node324574 81144K 81159K102400K 53680385 0 0 256 newdirblk 0 0K 1K102400K 1050 0 0 16 dirrem 8 1K 34K102400K 166236 0 0 32 mkdir 0 0K 31K102400K 14476 0 0 32 diradd 77 3K 34K102400K 225095 0 0 32 freefile 0 0K 22K102400K 108569 0 0 32 freeblks 85 11K 163K102400K 1258992 0 0 128 freefrag 10 1K 14K102400K 4297510 0 0 32 allocindir 22 2K 455K102400K 2239498 0 0 64 indirdep 8 1K 177K102400K 73726 0 0 32,8K allocdirect 307 20K 163K102400K 8372769 0 0 64 bmsafemap 81 3K 12K102400K 912675 0 0 32 newblk 1 1K 1K102400K 10612268 0 0 32,256 inodedep 222 540K 827K102400K 1519232 0 0 128,512K pagedep 21 130K 168K102400K 59610 0 0 64,128K p1003.1b 1 1K 1K102400K 1 0 0 16 NFS daemon 69 7K 7K102400K 69 0 0 64,256,512 NFSV3 srvdesc 18 2K 2K102400K 51449952 0 0 16,256 NFS srvsock 2 1K 1K102400K 3 0 0 128 NFS hash 1 512K 512K102400K 1 0 0 512K NFSV3 diroff 3 2K 3K102400K 28 0 0 512 NFS req 0 0K 3K102400K 443556 0 0 64 ip6_moptions 2 1K 1K102400K 2 0 0 16 in6_multi 8 1K 1K102400K 8 0 0 16,64 syncache 1 8K 8K102400K 1 0 0 8K tseg_qent 0 0K 5K102400K 1440028 0 0 32 ip_moptions 1 1K 1K102400K 1 0 0 128 in_multi 3 1K 1K102400K 3 0 0 32 igmp 1 1K 1K102400K 1 0 0 16 routetbl 411 58K 91K102400K 54930 0 0 16,32,64,128,256,512 lo 1 1K 1K102400K 1 0 0 512 ether_multi 38 2K 2K102400K 38 0 0 16,32,64 ifaddr 25 8K 8K102400K 25 0 0 32,256,512,2K BPF 4 1K 1K102400K 4 0 0 64 vnodes 27 7K 7K102400K 347 0 0 16,32,64,128,256 Export Host 42 11K 11K102400K 42 0 0 256 mount 17 9K 9K102400K 107 0 0 16,128,512 cluster_save buffer 0 0K 1K102400K 1430745 0 0 32,64 vfscache341747 26533K 71233K102400K 68580240 0 0 64,128,256,512,512K BIO buffer 22 23K 3126K102400K 5081117 0 0 512,1K,2K pcb 161 7K 10K102400K 1045393 0 0 16,32,64,2K soname 39 2K 2K102400K 35188222 0 0 16,32,128 ptys 4 2K 2K102400K 4 0 0 512 ttys 566 75K 75K102400K 4739 0 0 128,512 shm 1 12K 12K102400K 1 0 0 16K sem 3 6K 6K102400K 3 0 0 1K,4K msg 4 25K 25K102400K 4 0 0 512,4K,16K iov 0 0K 1K102400K 6 0 0 64,256 ioctlops 0 0K 1K102400K 23 0 0 512,1K taskqueue 2 1K 1K102400K 2 0 0 128 sbuf 0 0K 5K102400K 2 0 0 32,4K rman 63 4K 4K102400K 410 0 0 16,64 mbufmgr 648 115K 122K102400K190799574 0 0 16,32,64,128,32K,128K MD disk 1 1K 1K102400K 1 0 0 1K kobj 124 496K 496K102400K 124 0 0 4K eventhandler 29 2K 2K102400K 29 0 0 32,128 bus 700 50K 50K102400K 3697 0 0 16,32,64,128,256,512,1K,2K,4K SWAP 2 1097K 1097K102400K 2 0 0 32,512K timecounter 100 13K 13K102400K 100 0 0 128 sysctloid 46 2K 2K102400K 46 0 0 16,32,64 sysctl 0 0K 1K102400K 2841328 0 0 16,32,64 uidinfo 9 2K 2K102400K 635 0 0 32,1K cred 612 77K 77K102400K 313395 0 0 128 subproc 262 21K 22K102400K 95303 0 0 64,256 proc 2 8K 8K102400K 2 0 0 4K session 46 6K 7K102400K 3081 0 0 128 pgrp 52 7K 8K102400K 3378 0 0 128 module 170 11K 11K102400K 170 0 0 64,128 acpisem 16 1K 1K102400K 16 0 0 64 ip6ndp 8 2K 2K102400K 10 0 0 16,64,128,512 temp 4 61K 98K102400K 5892122 0 0 16,32,64,128,256,512,1K,2K,4K,8K,32K,64K devbuf 680 520K 521K102400K 1564 0 0 16,32,64,128,256,512,1K,2K,4K,16K,32K lockf 204 7K 8K102400K 403580 0 0 32,64 linker 34 2K 2K102400K 48 0 0 16,32,256 ithread 45 5K 5K102400K 45 0 0 64,128 atexit 2 1K 1K102400K 2 0 0 16 zombie 0 0K 2K102400K 91985 0 0 128 proc-args 146 8K 12K102400K 153864 0 0 16,32,64,128,256 kqueue 10 10K 16K102400K 1942 0 0 256,1K sigio 1 1K 1K102400K 58 0 0 32 file 1084 68K 73K102400K 89495821 0 0 64 file desc 274 75K 77K102400K 93042 0 0 256,512,1K,2K dev_t 1477 370K 370K102400K 1477 0 0 256 acpica 2170 112K 112K102400K 10915 0 0 16,32,64,128,256,512,1K acpidev 100 2K 2K102400K 100 0 0 16 ISOFS mount 1 512K 512K102400K 1 0 0 512K isadev 28 2K 2K102400K 28 0 0 64 pfs_vncache 1 1K 3K102400K 575 0 0 32 pfs_fileno 1 20K 20K102400K 1 0 0 32K pfs_nodes 20 3K 3K102400K 20 0 0 128 DEVFS 149 25K 25K102400K 149 0 0 16,128,8K Memory Totals: In Use Free Requests 114399K 88854K 538668733 ITEM SIZE LIMIT USED FREE REQUESTS PIPE: 192, 0, 128, 42, 48084 SWAPMETA: 160, 509724, 102, 1178, 1641 unpcb: 160, 0, 54, 71, 10441 ripcb: 192, 8232, 3, 39, 7 syncache: 160, 15359, 0, 51, 1607721 tcpcb: 544, 8232, 375, 2441, 2614084 udpcb: 192, 8232, 103, 67, 39930 socket: 224, 8232, 536, 2408, 2664468 DIRHASH: 1024, 0, 1621, 363, 238470 KNOTE: 64, 0, 0, 128, 1349 NFSNODE: 320, 0, 207, 897, 17215 NFSMOUNT: 256, 0, 7, 25, 95 NAMEI: 1024, 0, 1, 79, 641224701 VNODEPOLL: 64, 0, 0, 320, 5 VNODE: 224, 0, 324849, 21, 324849 VMSPACE: 224, 0, 202, 68, 92101 PROC: 768, 0, 239, 21, 92224 DP fakepg: 64, 0, 0, 0, 0 PV ENTRY: 28, 2396042, 277407, 509014, 305744319 MAP ENTRY: 48, 0, 7139, 1234, 450455008 KMAP ENTRY: 48, 193110, 774, 122, 117340 MAP: 108, 0, 8, 39, 8 VM OBJECT: 96, 0, 196349, 124241, 8967708 --Multipart_Tue_Feb_26_18:23:45_2002-1 Content-Type: text/plain; charset=US-ASCII -- Seigo Tanimura --Multipart_Tue_Feb_26_18:23:45_2002-1-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message