Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030404AbWARUH3 (ORCPT ); Wed, 18 Jan 2006 15:07:29 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030411AbWARUH3 (ORCPT ); Wed, 18 Jan 2006 15:07:29 -0500 Received: from sj-iport-3-in.cisco.com ([171.71.176.72]:3624 "EHLO sj-iport-3.cisco.com") by vger.kernel.org with ESMTP id S1030406AbWARUH1 (ORCPT ); Wed, 18 Jan 2006 15:07:27 -0500 X-IronPort-AV: i="3.99,381,1131350400"; d="scan'208"; a="393304004:sNHT32510288" To: Jes Sorensen Cc: "Bryan O'Sullivan" , Andi Kleen , linux-kernel@vger.kernel.org, discuss@x86-64.org Subject: Re: Why is wmb() a no-op on x86_64? X-Message-Flag: Warning: May contain useful information References: <1137601417.4757.38.camel@serpentine.pathscale.com> <200601181729.36423.ak@suse.de> <1137603169.4757.50.camel@serpentine.pathscale.com> From: Roland Dreier Date: Wed, 18 Jan 2006 12:07:23 -0800 In-Reply-To: (Jes Sorensen's message of "18 Jan 2006 12:06:39 -0500") Message-ID: User-Agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.4.17 (Jumbo Shrimp, linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 X-OriginalArrivalTime: 18 Jan 2006 20:07:25.0508 (UTC) FILETIME=[CCD24040:01C61C6A] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 974 Lines: 21 Bryan> On x86_64, we fiddle with the MTRRs to enable write Bryan> combining, which makes a huge difference to performance. Bryan> It's not clear to me what we should even do on other Bryan> architectures, since the only generic entry point that even Bryan> exposes write combining is pci_mmap_page_range, which is Bryan> for PCI mmap through userspace, and half the arches I've Bryan> looked at ignore its write_combine parameter. Jes> A job for mmiowb() perhaps? I don't think the semantics of mmiowb() do what is desired here. mmiowb() is all about ordering writes between separate CPUs, and the issue at hand here is that write-combining buffers might reorder writes from a single CPU. - R. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/