Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Feb 2002 18:23:45 +0900
From:      Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        Terry Lambert <tlambert2@mindspring.com>, Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>, arch@FreeBSD.ORG
Subject:   Re: reclaiming v_data of free vnodes
Message-ID:  <200202260923.g1Q9NkVh093544@rina.r.dl.itc.u-tokyo.ac.jp>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
--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 <dillon@apollo.backplane.com> 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 <tanimura@r.dl.itc.u-tokyo.ac.jp> <tanimura@FreeBSD.org>

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202260923.g1Q9NkVh093544>