From owner-freebsd-current Thu Mar 23 15:21:48 2000 Delivered-To: freebsd-current@freebsd.org Received: from yana.lemis.com (yana.lemis.com [192.109.197.140]) by hub.freebsd.org (Postfix) with ESMTP id A7A8837BAF0 for ; Thu, 23 Mar 2000 15:21:42 -0800 (PST) (envelope-from grog@mojave.worldwide.lemis.com) Received: from mojave.worldwide.lemis.com ([216.88.157.130]) by yana.lemis.com (8.8.8/8.8.8) with ESMTP id JAA02322; Fri, 24 Mar 2000 09:51:24 +1030 (CST) (envelope-from grog@mojave.worldwide.lemis.com) Received: (from grog@localhost) by mojave.worldwide.lemis.com (8.9.3/8.9.3) id PAA09490; Thu, 23 Mar 2000 15:21:04 -0800 (PST) (envelope-from grog) Date: Thu, 23 Mar 2000 15:21:04 -0800 From: Greg Lehey To: Matthew Dillon Cc: Poul-Henning Kamp , current@FreeBSD.ORG Subject: Re: patches for test / review Message-ID: <20000323152104.B9318@mojave.worldwide.lemis.com> Reply-To: Greg Lehey References: <20074.953579833@critter.freebsd.dk> <200003202204.OAA72087@apollo.backplane.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <200003202204.OAA72087@apollo.backplane.com>; from dillon@apollo.backplane.com on Mon, Mar 20, 2000 at 02:04:48PM -0800 WWW-Home-Page: http://www.lemis.com/~grog X-PGP-Fingerprint: 6B 7B C3 8C 61 CD 54 AF 13 24 52 F8 6D A4 95 EF Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-41-739-7062 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Monday, 20 March 2000 at 14:04:48 -0800, Matthew Dillon wrote: > > If a particular subsystem needs b_data, then that subsystem is obviously > willing to take the virtual mapping / unmapping hit. If you look at > Greg's current code this is, in fact, what is occuring.... the critical > path through the buffer cache in a heavily loaded system tends to require > a KVA mapping *AND* a KVA unmapping on every buffer access (just that the > unmappings tend to be for unrelated buffers). The reason this occurs > is because even with the larger amount of KVA we made available to the > buffer cache in 4.x, there still isn't enough to leave mappings intact > for long periods of time. A 'systat -vm 1' will show you precisely > what I mean (also sysctl -a | fgrep bufspace). > > So we will at least not be any worse off then we are now, and probably > better off since many of the buffers in the new system will not have > to be mapped. For example, when vinum's RAID5 breaks up a request > and issues a driveio() it passes a buffer which is assigned to b_data > which must be translated (through page table lookups) to physical > addresses anyway, so the fact that that vinum does not populate > b_pages[] does *NOT* help it in the least. It actually makes the job > harder. I think you may be confusing two things, though it doesn't seem to make much difference. driveio() is used only for accesses to the configuration information; normal Vinum I/O goes via launch_requests() (in vinumrequest.c). And it's not just RAID-5 that breaks up a request, it's any access that goes over more than one subdisk (even concatenated plexes in exceptional cases). Greg -- Finger grog@lemis.com for PGP public key See complete headers for address and phone numbers To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message