From owner-freebsd-arch@FreeBSD.ORG Thu Oct 27 20:49:13 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 DFDE0106566B for ; Thu, 27 Oct 2011 20:49:13 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 9D06C8FC08 for ; Thu, 27 Oct 2011 20:49:13 +0000 (UTC) Received: by vws11 with SMTP id 11so4428371vws.13 for ; Thu, 27 Oct 2011 13:49:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Zv07YY4c8cOj8zk/sau4Ub1iMgd8r763WiVXi3aP50w=; b=HPQhAn8VhIfJ4ZWqPPTMxH0wP8glU+aiRgoIWrMH9af4zWuGEcVoG7DXyA4jjaytF3 G+aRz8PlNbjigfYHF/AZz0JhnOkDoPfsnk4TzSTyJJ5ezxP6SqAJtIrqQD4PrfCbBVfZ kA4zgDLAERNABs61lVNk2jGYszUsDK7yLAQH0= MIME-Version: 1.0 Received: by 10.52.109.102 with SMTP id hr6mr1259427vdb.44.1319748552967; Thu, 27 Oct 2011 13:49:12 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.52.176.1 with HTTP; Thu, 27 Oct 2011 13:49:12 -0700 (PDT) In-Reply-To: References: Date: Fri, 28 Oct 2011 04:49:12 +0800 X-Google-Sender-Auth: o4UrTSgSw8QM89olNvnzJ1BfpFw Message-ID: From: Adrian Chadd To: Warner Losh Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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: Thu, 27 Oct 2011 20:49:14 -0000 On 28 October 2011 04:43, Warner Losh wrote: > Having an option to support lazy would be easy to code up on x86 where it= isn't needed. =A0However, on some architectures, the bus space routines ar= e implemented as a series of function calls from a table that's passed arou= nd in the bus_space_t. =A0Those architectures it would be hard to implement= differing behavior like you propose. Right, but then wouldn't it just need to be: (do bus op) if (bit is set) bus_space_barrier(address range of allocation); I haven't looked to see whether the relevant information is currently exposed to those functions. This was just an idea to meet half way between what newbus documentation says, and what code actually implements. > Having it whine on lazy will ensure that lazy is never used since such a = message will "scare the horses" and people will stamped to using the synchr= onous one. > > One question: What's the slowdown from making everything synchronous? I have no idea. Which architectures would benefit? MIPS? sparc? arm? ia64? = PPC? Adrian