From owner-freebsd-arch@FreeBSD.ORG Fri Oct 28 08:15:19 2011 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6A344106564A; Fri, 28 Oct 2011 08:15:19 +0000 (UTC) (envelope-from jmg@h2.funkthat.com) Received: from h2.funkthat.com (gate.funkthat.com [70.36.235.232]) by mx1.freebsd.org (Postfix) with ESMTP id 4339F8FC18; Fri, 28 Oct 2011 08:15:19 +0000 (UTC) Received: from h2.funkthat.com (localhost [127.0.0.1]) by h2.funkthat.com (8.14.3/8.14.3) with ESMTP id p9S7bBiM094503 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 28 Oct 2011 00:37:11 -0700 (PDT) (envelope-from jmg@h2.funkthat.com) Received: (from jmg@localhost) by h2.funkthat.com (8.14.3/8.14.3/Submit) id p9S7bBNj094502; Fri, 28 Oct 2011 00:37:11 -0700 (PDT) (envelope-from jmg) Date: Fri, 28 Oct 2011 00:37:10 -0700 From: John-Mark Gurney To: Adrian Chadd Message-ID: <20111028073710.GP25601@funkthat.com> Mail-Followup-To: Adrian Chadd , freebsd-arch@freebsd.org References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Operating-System: FreeBSD 7.2-RELEASE i386 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.2.2 (h2.funkthat.com [127.0.0.1]); Fri, 28 Oct 2011 00:37:11 -0700 (PDT) Cc: freebsd-arch@freebsd.org Subject: Re: newbus IO ordering semantics - moving forward X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Oct 2011 08:15:19 -0000 Adrian Chadd wrote this message on Fri, Oct 28, 2011 at 04:28 +0800: > So what I'm proposing is: > > * Make the bus default to use ordered semantics, much like what Linux > does - ie, all IO read/writes (io or memory) are in-order and flushed > with a barrier; > * Add an option which allows the driver to request a region with > loose-running/lazy semantics, what we're supposed to have now, and > then leave barriers up to the driver; > * Print out something nice and loud if a driver decides to use the > lazy/loose semantics, which may result in unpredictable behaviour on > non-{i386,amd64}. > > I'd appreciate some feedback/comments before I go off and code all of this up. I think we should complain about the drivers that are NOT using the lazy/loose semantics as those are the drivers that are slower than they should be, and/or not written properly. Complaining about properly written drivers that use the lazy/loose semantics when they get updated to be correct is wrong... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."