mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Jesse Barnes <jesse.barnes@intel.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Intel Memory Ordering White Paper
Date: Sat, 8 Sep 2007 18:54:57 +1000	[thread overview]
Message-ID: <200709081854.57549.nickpiggin@yahoo.com.au> (raw)
In-Reply-To: <200709071526.51169.jesse.barnes@intel.com>

[-- Attachment #1: Type: text/plain, Size: 374 bytes --]

On Saturday 08 September 2007 08:26, Jesse Barnes wrote:
> FYI, we just released a new white paper describing memory ordering for
> Intel processors:
> http://developer.intel.com/products/processor/manuals/index.htm
>
> Should help answer some questions about some of the ordering primitives
> we use on i386 and x86_64.

So, can we finally noop smp_rmb and smp_wmb on x86?

[-- Attachment #2: x86-barrier-opt.patch --]
[-- Type: text/x-diff, Size: 1011 bytes --]

Index: linux-2.6/include/asm-i386/system.h
===================================================================
--- linux-2.6.orig/include/asm-i386/system.h
+++ linux-2.6/include/asm-i386/system.h
@@ -286,7 +286,7 @@ static inline unsigned long get_limit(un
 
 #ifdef CONFIG_SMP
 #define smp_mb()	mb()
-#define smp_rmb()	rmb()
+#define smp_rmb()	barrier()
 #define smp_wmb()	wmb()
 #define smp_read_barrier_depends()	read_barrier_depends()
 #define set_mb(var, value) do { (void) xchg(&var, value); } while (0)
Index: linux-2.6/include/asm-x86_64/system.h
===================================================================
--- linux-2.6.orig/include/asm-x86_64/system.h
+++ linux-2.6/include/asm-x86_64/system.h
@@ -141,8 +141,8 @@ static inline void write_cr8(unsigned lo
 
 #ifdef CONFIG_SMP
 #define smp_mb()	mb()
-#define smp_rmb()	rmb()
-#define smp_wmb()	wmb()
+#define smp_rmb()	barrier()
+#define smp_wmb()	barrier()
 #define smp_read_barrier_depends()	do {} while(0)
 #else
 #define smp_mb()	barrier()

  reply	other threads:[~2007-09-07 22:57 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-07 22:26 Jesse Barnes
2007-09-08  8:54 ` Nick Piggin [this message]
2007-09-07 23:20   ` Linus Torvalds
2007-09-08 17:34     ` Nick Piggin
2007-09-08 17:48       ` Nick Piggin
2007-09-07 18:13         ` Nick Piggin
2007-09-08  8:53           ` Andi Kleen
2007-09-07 19:57             ` Nick Piggin
2007-09-08 10:19               ` Andi Kleen
2007-09-07 20:32                 ` Nick Piggin
2007-09-08 20:37                   ` H. Peter Anvin
2007-09-08 11:34         ` dean gaudet
2007-09-08 12:08           ` Petr Vandrovec
2007-09-08 12:27             ` dean gaudet
2007-09-08 10:30   ` Alan Cox
2007-09-07 20:46     ` Nick Piggin
2007-09-08 10:29 ` Alan Cox
2007-09-07 20:49   ` Nick Piggin
2007-09-08 14:11     ` Alan Cox
2007-09-12 18:26 ` Dr. David Alan Gilbert
2007-09-19 16:26   ` Jesse Barnes
2007-09-19 17:29     ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200709081854.57549.nickpiggin@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=jesse.barnes@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®