From owner-freebsd-hackers Tue Mar 2 5:19:30 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from iquest3.iquest.net (iquest3.iquest.net [209.43.20.203]) by hub.freebsd.org (Postfix) with SMTP id 9089414D54 for ; Tue, 2 Mar 1999 05:19:04 -0800 (PST) (envelope-from toor@y.dyson.net) Received: (qmail 12838 invoked from network); 2 Mar 1999 13:18:33 -0000 Received: from dyson.iquest.net (HELO y.dyson.net) (198.70.144.127) by iquest3.iquest.net with SMTP; 2 Mar 1999 13:18:33 -0000 Received: (from toor@localhost) by y.dyson.net (8.9.1/8.9.1) id IAA63853; Tue, 2 Mar 1999 08:18:28 -0500 (EST) Message-Id: <199903021318.IAA63853@y.dyson.net> Subject: Re: VM and VFS relations In-Reply-To: from Boris Popov at "Mar 2, 99 06:18:21 pm" To: bp@butya.kz (Boris Popov) Date: Tue, 2 Mar 1999 08:18:28 -0500 (EST) Cc: freebsd-hackers@freebsd.org From: "John S. Dyson" Reply-To: dyson@iquest.net X-Mailer: ELM [version 2.4ME+ PL38 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Boris Popov said: > Hello, > > currently I try to optimize IO operations in nwfs and don't break > consistency between normal and paged IO. After thorough reading of > vfs_bio/vfs_aio/vfs_vnode_pager it is seems that VM and VFS layers are not > tightly integrated. However code in vfs_bio (BIO layer) a very good > candidate to do that (is this right ?). > vfs_bio has most of the stuff, but there are hooks in vfs_subr, and a few other places. > > I'm very interesting in history of different IO layers and > in plans of future development in that direction. Specially, in > ability (possibility ?) of creating a single IO routine which will > integrate both paged and normal IO operations for any file system. > That should be done. The buffer cache stuff was left in for legacy filesystem support. It is unlikely that softupdates would have been added to FreeBSD, if the buffer cache code was fully removed, for example... (That isn't to say that there weren't compatibility problems anyway.) > > Any documents pointers, common notes, etc. would be very > appreciated. > IMO, one of the best things to do, would be to remove the dependency of UFS from the buffer cache code (or at least, remove it for normal file I/O.) That would eliminate alot of the buffer building, reconstitution and destroying overhead. One proposal would be to create big mappings into a file, and explictly fill those mappings. (Don't depend on vm faults for filling buffers, ugh!!!) -- John | Never try to teach a pig to sing, dyson@iquest.net | it makes one look stupid jdyson@nc.com | and it irritates the pig. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message