Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932304AbWBBVtG (ORCPT ); Thu, 2 Feb 2006 16:49:06 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932309AbWBBVtG (ORCPT ); Thu, 2 Feb 2006 16:49:06 -0500 Received: from iolanthe.rowland.org ([192.131.102.54]:46747 "HELO iolanthe.rowland.org") by vger.kernel.org with SMTP id S932304AbWBBVtF (ORCPT ); Thu, 2 Feb 2006 16:49:05 -0500 Date: Thu, 2 Feb 2006 16:49:04 -0500 (EST) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Roland Dreier cc: Kernel development list Subject: Re: Question about memory barriers In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 804 Lines: 20 On Thu, 2 Feb 2006, Roland Dreier wrote: > Most of this is correct, except that mb() is stronger than just rmb() > and wmb() put together. All memory operations before the mb() will > complete before any operations after the mb(). A better way to > understand this is to look at the sparc64 definition: > > #define mb() \ > membar_safe("#LoadLoad | #LoadStore | #StoreStore | #StoreLoad") Thanks for the explanation. Is there any appropriate place, say in Documentation/, where these things could be spelled out more completely? Alan Stern - 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/