From: Chris Snook <csnook@redhat.com>
To: Segher Boessenkool <segher@kernel.crashing.org>
Cc: wjiang@resilience.com, rpjday@mindspring.com,
wensong@linux-vs.org, heiko.carstens@de.ibm.com,
linux-kernel@vger.kernel.org, ak@suse.de, netdev@vger.kernel.org,
paulmck@linux.vnet.ibm.com, horms@verge.net.au,
akpm@linux-foundation.org, linux-arch@vger.kernel.org,
jesper.juhl@gmail.com, torvalds@linux-foundation.org,
schwidefsky@de.ibm.com, davem@davemloft.net, cfriesen@nortel.com,
zlynx@acm.org
Subject: Re: [PATCH 1/24] make atomic_read() behave consistently on alpha
Date: Thu, 09 Aug 2007 12:20:31 -0400 [thread overview]
Message-ID: <46BB3ECF.2070100@redhat.com> (raw)
In-Reply-To: <3bfabd7472d6f019aa1880b14013f7a1@kernel.crashing.org>
Segher Boessenkool wrote:
>> We can't have split stores because we don't use atomic64_t on 32-bit
>> architectures.
>
> That's not true; the compiler is free to split all stores
> (and reads) from memory however it wants. It is debatable
> whether "volatile" would prevent this as well, certainly
> it is unsafe if you want to be portable. GCC will do its
> best to not split volatile memory accesses, but bugs in
> this area do happen a lot (because the compiler code for
> volatile isn't as well exercised as most other compiler
> code, and because it is simply a hard subject; and there
> is no real formalised model for what GCC should do).
>
> The only safe way to get atomic accesses is to write
> assembler code. Are there any downsides to that? I don't
> see any.
The assumption that aligned word reads and writes are atomic, and that words are
aligned unless explicitly packed otherwise, is endemic in the kernel. No sane
compiler violates this assumption. It's true that we're not portable to insane
compilers after this patch, but we never were in the first place.
-- Chris
next prev parent reply other threads:[~2007-08-09 16:26 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-09 13:24 [PATCH 1/24] make atomic_read() behave consistently on alpha Chris Snook
2007-08-09 14:32 ` Paul E. McKenney
2007-08-09 14:53 ` Chris Snook
2007-08-09 15:04 ` Paul E. McKenney
2007-08-09 15:24 ` Chris Snook
2007-08-09 15:50 ` Segher Boessenkool
2007-08-09 16:20 ` Chris Snook [this message]
2007-08-09 18:38 ` Segher Boessenkool
2007-08-09 19:05 ` Chris Snook
2007-08-09 19:19 ` Segher Boessenkool
2007-08-09 19:25 ` Geert Uytterhoeven
2007-08-09 19:47 ` Chris Snook
2007-08-09 23:02 ` Segher Boessenkool
2007-08-09 16:10 ` Paul E. McKenney
2007-08-09 16:36 ` Chris Snook
2007-08-09 16:58 ` Paul E. McKenney
2007-08-09 17:14 ` Chris Snook
2007-08-09 17:41 ` Paul E. McKenney
2007-08-09 18:13 ` Chris Snook
2007-08-09 18:45 ` Paul E. McKenney
2007-08-09 19:24 ` Chris Snook
2007-08-10 1:28 ` Paul E. McKenney
2007-08-10 19:49 ` Chris Snook
2007-08-10 20:26 ` Paul E. McKenney
2007-08-09 19:17 ` Segher Boessenkool
2007-08-09 18:51 ` Segher Boessenkool
2007-08-09 19:30 ` Chris Snook
2007-08-10 8:21 ` Herbert Xu
2007-08-10 9:08 ` Andi Kleen
2007-08-10 15:02 ` Paul E. McKenney
2007-08-10 20:07 ` Segher Boessenkool
2007-08-11 0:00 ` Herbert Xu
2007-08-11 0:38 ` Segher Boessenkool
2007-08-11 0:43 ` Herbert Xu
2007-08-11 0:50 ` Segher Boessenkool
2007-08-11 4:38 ` Valdis.Kletnieks
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=46BB3ECF.2070100@redhat.com \
--to=csnook@redhat.com \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=cfriesen@nortel.com \
--cc=davem@davemloft.net \
--cc=heiko.carstens@de.ibm.com \
--cc=horms@verge.net.au \
--cc=jesper.juhl@gmail.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=rpjday@mindspring.com \
--cc=schwidefsky@de.ibm.com \
--cc=segher@kernel.crashing.org \
--cc=torvalds@linux-foundation.org \
--cc=wensong@linux-vs.org \
--cc=wjiang@resilience.com \
--cc=zlynx@acm.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;
as well as URLs for NNTP newsgroup(s).