public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: moreau francis <francis_moreau2000@yahoo.fr>
Cc: Andy Isaacson <adi@hexapodia.org>,
	"linux-os (Dick Johnson)" <linux-os@analogic.com>,
	linux-kernel@vger.kernel.org
Subject: Re: question on memory barrier
Date: Thu, 25 Aug 2005 11:07:20 +0100	[thread overview]
Message-ID: <1124964440.21456.1.camel@localhost.localdomain> (raw)
In-Reply-To: <20050825091403.6380.qmail@web25805.mail.ukl.yahoo.com>

On Iau, 2005-08-25 at 11:14 +0200, moreau francis wrote:
> I'm compiling Linux kernel for a MIPS32 cpu. On my platform, writel seems
> expand to:
> 
>     static inline writel(u32 val, volatile void __iomem *mem)
>     {
>             volatile u32 *__mem;
>             u32 __val;
> 
>             __mem = (void *)((unsigned long)(mem));
>             __val = val;
> 
>             *__mem = __val;
>     }
> 
> I don't see the magic in it since "volatile" keyword do not handle memory
> ordering constraints...Linus wrote on volatile keyword, see

For the case and the platform the volatile is sufficient to force
ordering. That or the arch code author made a mistake. But I think its
sufifcient for MIPS. The volatile prevents

	*foo = 1; 
	*foo = 2;

or even

	*foo;

from being collapsed together or eliminated


  reply	other threads:[~2005-08-25  9:38 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-24 12:43 question on memory barrier moreau francis
2005-08-24 13:04 ` linux-os (Dick Johnson)
2005-08-24 17:31   ` moreau francis
2005-08-24 18:22     ` linux-os (Dick Johnson)
2005-08-24 19:32       ` Oliver Neukum
2005-08-24 19:47         ` linux-os (Dick Johnson)
2005-08-24 19:55           ` Oliver Neukum
2005-08-24 19:48     ` Andy Isaacson
2005-08-24 19:53       ` Jesse Barnes
2005-08-24 21:45         ` Alan Cox
2005-08-24 21:22           ` Jesse Barnes
2005-08-24 20:03       ` linux-os (Dick Johnson)
2005-08-24 20:21         ` Oliver Neukum
2005-08-25  2:25         ` David Schwartz
2005-08-25  8:49       ` Denis Vlasenko
2005-08-25  9:14       ` moreau francis
2005-08-25 10:07         ` Alan Cox [this message]
2005-08-25 14:54         ` Andy Isaacson
2005-08-26  7:21           ` moreau francis
2005-08-26 10:37             ` Maciej W. Rozycki
2005-08-25 10:32       ` Maciej W. Rozycki
2005-08-24 21:57 ` Alan Cox

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=1124964440.21456.1.camel@localhost.localdomain \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=adi@hexapodia.org \
    --cc=francis_moreau2000@yahoo.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-os@analogic.com \
    /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