Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Paul Mackerras <paulus@...>
Cc: Christoph Lameter <clameter@...>, <heiko.carstens@...>, <horms@...>, Stefan Richter <stefanr@...>, Satyam Sharma <satyam@...>, Linux Kernel Mailing List <linux-kernel@...>, Paul E. McKenney <paulmck@...>, <netdev@...>, <ak@...>, <cfriesen@...>, <rpjday@...>, <jesper.juhl@...>, <linux-arch@...>, Andrew Morton <akpm@...>, <zlynx@...>, <schwidefsky@...>, Chris Snook <csnook@...>, Herbert Xu <herbert@...>, <davem@...>, Linus Torvalds <torvalds@...>, <wensong@...>, <wjiang@...>
Date: Wednesday, August 15, 2007 - 10:07 pm

>> A volatile default would disable optimizations for atomic_read.

An atomic_read() implemented as a "normal" C variable read would
allow that read to be combined with another "normal" read from
that variable.  This could perhaps be marginally useful, although
I'd bet you cannot see it unless counting cycles on a simulator
or counting bits in the binary size.

With an asm() implementation, the compiler can not do this; with
a "volatile" implementation (either volatile variable or volatile-cast),
this invokes undefined behaviour (in both C and GCC).


Segher

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Tue Aug 14, 6:31 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Wed Aug 15, 3:59 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Thu Aug 16, 4:50 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Fri Aug 17, 6:34 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Thu Aug 16, 5:00 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Fri Aug 17, 6:38 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Fri Aug 24, 1:15 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Wed Aug 15, 8:26 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Wed Aug 15, 8:42 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Wed Aug 15, 10:07 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Thu Aug 16, 3:39 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Thu Aug 16, 2:54 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Thu Aug 16, 4:20 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Fri Aug 17, 1:41 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Mon Sep 10, 2:59 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Mon Sep 10, 10:27 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Mon Sep 10, 5:36 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Fri Aug 17, 7:17 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Fri Aug 17, 8:04 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Fri Aug 17, 10:15 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Sat Aug 18, 1:18 am)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Fri Aug 17, 6:09 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Arjan van de Ven, (Mon Sep 10, 10:51 am)
Re: [PATCH] Document non-semantics of atomic_read() and atom..., Christoph Lameter, (Tue Sep 11, 3:35 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Mon Sep 10, 2:59 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Tue Aug 21, 10:59 am)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Mon Aug 20, 6:07 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Paul E. McKenney, (Thu Aug 16, 12:34 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Fri Aug 17, 6:14 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Paul E. McKenney, (Fri Aug 17, 10:31 am)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Wed Aug 15, 10:15 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Wed Aug 15, 10:17 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Paul E. McKenney, (Wed Aug 15, 10:35 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Wed Aug 15, 8:59 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Wed Aug 15, 9:41 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Paul E. McKenney, (Wed Aug 15, 10:32 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Wed Aug 15, 8:40 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Wed Aug 15, 2:31 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Wed Aug 15, 4:42 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Paul E. McKenney, (Wed Aug 15, 10:25 am)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Wed Aug 15, 4:58 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Segher Boessenkool, (Wed Aug 15, 5:07 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Paul E. McKenney, (Wed Aug 15, 12:08 pm)
Re: [PATCH 0/24] make atomic_read() behave consistently acro..., Christoph Lameter, (Tue Aug 14, 6:51 pm)