From owner-freebsd-arch@FreeBSD.ORG Fri Oct 28 13:07:45 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 C4AD91065675; Fri, 28 Oct 2011 13:07:45 +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 6970E8FC0A; Fri, 28 Oct 2011 13:07:45 +0000 (UTC) Received: by vws11 with SMTP id 11so5233185vws.13 for ; Fri, 28 Oct 2011 06:07:44 -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:content-type :content-transfer-encoding; bh=6sNMvjmvhGqB7pdWYgNZQWPJh8CtUXkwCF9RL2ibm/Y=; b=RlxihV8EczfcwCFGgvinKx8Nk+9TxGaUy78jd7NRz2d4vOtBEWLq7bPKOOBvOfS4ps BamyCBhlVbrG97nq8U8SpBjS3kMOnK18vyeInSLMZ+1flosne4KRFcsCczHu0BHtogal FnxfqJkPf7gY9ZnsTJLYbU/aZv4yb//EoIgGk= MIME-Version: 1.0 Received: by 10.52.91.237 with SMTP id ch13mr584790vdb.129.1319807264683; Fri, 28 Oct 2011 06:07:44 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.52.176.1 with HTTP; Fri, 28 Oct 2011 06:07:44 -0700 (PDT) In-Reply-To: <20111028073710.GP25601@funkthat.com> References: <20111028073710.GP25601@funkthat.com> Date: Fri, 28 Oct 2011 21:07:44 +0800 X-Google-Sender-Auth: 9UkTpNwzB0eKcKYRyqrlUxHHl94 Message-ID: From: Adrian Chadd To: Adrian Chadd , freebsd-arch@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: 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 13:07:45 -0000 On 28 October 2011 15:37, John-Mark Gurney wrote: >> I'd appreciate some feedback/comments before I go off and code all of th= is 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. =A0Complaining about properl= y > written drivers that use the lazy/loose semantics when they get updated > to be correct is wrong... Right. My point though is that I'm not sure of how many drivers have been tested outside of i386/amd64. Marcus's response is helpful, indicating that the sparc64 guys have tested a lot of this. Yes, the barrier calls are expensive and yes, drivers on i386/amd64 still need to do bus_dmamap_sync() calls. I can only speak from my limited experience here after tracking down that ath/ath_hal bug. My experience is that ath(4) triggered on PPC because of a loop which read the same register a few times. I recall seeing an ethernet driver recently have a commit which also did this. I'm happy to do the reverse. Ie, on platforms where it matters, add a warning printf (in verbose boot) when drivers aren't indicating they've been fully tested. Or, I'm happy to completely ignore the situation. :) Adrian