Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Dec 2000 12:09:52 +0900
From:      Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>
To:        tanimura@r.dl.itc.u-tokyo.ac.jp
Cc:        dillon@earth.backplane.com, bright@wintelcom.net, arch@FreeBSD.ORG
Subject:   Re: Even 1GB KVA is not enough, but we have no more space
Message-ID:  <vmd7ey8hdr.wl@rina.r.dl.itc.u-tokyo.ac.jp>
In-Reply-To: In your message of "Sat, 09 Dec 2000 14:24:06 %2B0900" <86elzi88w9.wl@silver.carrots.uucp.r.dl.itc.u-tokyo.ac.jp>
References:  <vmsno08u4f.wl@rina.r.dl.itc.u-tokyo.ac.jp> <vmr93k8tqe.wl@rina.r.dl.itc.u-tokyo.ac.jp> <20001207013611.O16205@fw.wintelcom.net> <vmpuj48svm.wl@rina.r.dl.itc.u-tokyo.ac.jp> <20001207015651.P16205@fw.wintelcom.net> <vmofyo8ran.wl@rina.r.dl.itc.u-tokyo.ac.jp> <200012071952.eB7JqXm11711@earth.backplane.com> <86elzi88w9.wl@silver.carrots.uucp.r.dl.itc.u-tokyo.ac.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 09 Dec 2000 14:24:06 +0900,
  Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp> said:

Seigo> And the saga continues. After regulating the size of struct swblock,
Seigo> ffs_vget() failed to allocalte a new vnode. At the time the PowerEdge
Seigo> failed, the kernel held around 197K vnodes, which is as large as
Seigo> 46MB. This time I reduced the size of kmem_map, the pool of malloc(9).

Sorry, please forget this matter. The culprit truned out to be a race
condition of testing-and-setting ffs_inode_hash_lock in
ffs_vget(). Mutexifing the test-and-sleep-or-set and wakeup-reset
operations was enough to fix the problem. Now my kernel allocates up
to 316K vnodes on make buildworld and release, so malloc(9) pool of
200MB is sufficient. (316K vnodes occupy about 90-100MB in kmem_map)


The updated patch is now at

URI: http://people.FreeBSD.org/~tanimura/patches/kvmfix.diff

which includes

A. adaptation of swap metadata size,
B. rejection of swapon(2) upon failure of swap zone allocation, and
C. atomic test-and-set and reset of {ffs,ifs}_inode_hash_lock.

I am going to commit this patch in about 6 hours from now.

-- 
Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp> <tanimura@FreeBSD.org>


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?vmd7ey8hdr.wl>