From owner-freebsd-hackers Sun May 26 10:10:59 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id KAA04758 for hackers-outgoing; Sun, 26 May 1996 10:10:59 -0700 (PDT) Received: from dyson.iquest.net (dyson.iquest.net [198.70.144.127]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id KAA04753 for ; Sun, 26 May 1996 10:10:53 -0700 (PDT) Received: (from root@localhost) by dyson.iquest.net (8.7.5/8.6.9) id MAA00878; Sun, 26 May 1996 12:09:46 -0500 (EST) From: "John S. Dyson" Message-Id: <199605261709.MAA00878@dyson.iquest.net> Subject: Re: VM in FreeBSD and 4.4BSD book To: T0682740@pmail.tepco.co.jp (Motonori Shindou) Date: Sun, 26 May 1996 12:09:46 -0500 (EST) Cc: hackers@freebsd.org In-Reply-To: <31A889F0.6553.001@pmail.tepco.co.jp> from "Motonori Shindou" at May 27, 96 01:42:24 am X-Mailer: ELM [version 2.4 PL24 ME8] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > Hello. > > Finally, I obtained "4.4BSD Book" and started reading it. In Section > 5.5 of this book (p.145), it says: > > This behavior is an unwelcome side effect of the separate virtual > memory and filesystem caches; it would be eliminated if the two > caches were integrated. > > Is this just what happned in FreeBSD 2.0.5 as described in its > REL-NOTES? > > Merged VM-File Buffer Cache > --------------------------- > A merged VM/buffer cache design greatly enhances overall system > performance and makes it possible to do a number of more optimal > memory allocation strategies that were not possible before. > Yes, actually we had several versions of prototype merged VM buffer cache code since pre-1.1.5 days. The version that we ended up using appeared to be the cleanest way to do it at the time, by limiting most of the changes in the system to vfs_bio. Many of the changes to the filesystem code are bugfixes due to misuse of the subroutine "vnode_pager_uncache." The FreeBSD buffer cache code is also designed to limit pressure on pages in processes. It also limits the number of dirty pages from the buffer cache to a reasonable size. There are more things that we can do to improve the managing buffer cache memory policy, but it hasn't been necessary so far. Warning, even though a couple of FreeBSD people reviewed the VM section of the 4.4BSD book, the VM system on FreeBSD has changed substantially. The book generally applies, but there have been many fixes and rewrites relative to the original port of the VM code. There is still more to do though!!! John dyson@freebsd.org