From owner-freebsd-arch@FreeBSD.ORG Wed Dec 19 17:47:47 2012 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 13852FA0; Wed, 19 Dec 2012 17:47:47 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) by mx1.freebsd.org (Postfix) with ESMTP id D23A98FC12; Wed, 19 Dec 2012 17:47:46 +0000 (UTC) Received: from JRE-MBP-2.local (ppp121-45-232-233.lns20.per1.internode.on.net [121.45.232.233]) (authenticated bits=0) by vps1.elischer.org (8.14.5/8.14.5) with ESMTP id qBJHld9F034581 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Wed, 19 Dec 2012 09:47:41 -0800 (PST) (envelope-from julian@freebsd.org) Message-ID: <50D1FDB5.70804@freebsd.org> Date: Thu, 20 Dec 2012 01:47:33 +0800 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: Unmapped I/O References: <20121219135451.GU71906@kib.kiev.ua> <50D1D2BD.80107@freebsd.org> <50D1ECC5.2070209@freebsd.org> <17252.1355935960@critter.freebsd.dk> <20121219172320.GW71906@kib.kiev.ua> In-Reply-To: <20121219172320.GW71906@kib.kiev.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Poul-Henning Kamp , mjacob@freebsd.org, freebsd-arch@freebsd.org X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Dec 2012 17:47:47 -0000 On 12/20/12 1:23 AM, Konstantin Belousov wrote: > On Wed, Dec 19, 2012 at 04:52:40PM +0000, Poul-Henning Kamp wrote: >> -------- >> In message <50D1ECC5.2070209@freebsd.org>, Julian Elischer writes: >> >>> yeah.. Bill Jolitz had patches for this in 92 ... that disappeared >>> with him. >> You know, I've never seen a shred of evidence supporting that claim >> or any of the many similarly improbable claims Bill Jolitz made, and >> in this particular case I very much did look for such evidence. > This is definitely not a discussion I hoped for. > > Still, the i386 cannot have much benefit from the unmapped buffers, > just because thre is no facilities similar to the direct map for amd64. > i386 must use transient mapping even for unmapped buffers to copy > the data to the usermode. > > Also, as I understand the history, VMIO buffers, or unified page/buffer > cache, only appeared in the FreeBSD. If you look at the old physio code then you will see that the driver can DMA directly to user space, even in BSD4.3 and earlier. The system however insisted on mapping it to kernel addresses in case the device needed to be spoon fed. Even if it didn't need to. The case of buffered IO is of course different. Bill did explain his changes to me once when I visited him at his home in Oakland, and showed me code. I do not remember the details but the impression I retain is that there was some sort of "just-in-time" mapping that was used "if required" and that buffer caches were entirely non mapped most of the time, being maintained and managed in physical memory.