netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Segher Boessenkool <segher@kernel.crashing.org>
To: Chris Snook <csnook@redhat.com>
Cc: wjiang@resilience.com, schwidefsky@de.ibm.com,
	wensong@linux-vs.org, heiko.carstens@de.ibm.com,
	linux-kernel@vger.kernel.org, ak@suse.de, cfriesen@nortel.com,
	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,
	davem@davemloft.net, torvalds@linux-foundation.org,
	zlynx@acm.org, rpjday@mindspring.com
Subject: Re: [PATCH 1/24] make atomic_read() behave consistently on alpha
Date: Thu, 9 Aug 2007 21:19:20 +0200	[thread overview]
Message-ID: <2d0e5a19da57d8c22e81a958ae984884@kernel.crashing.org> (raw)
In-Reply-To: <46BB656D.6090408@redhat.com>

>>>> 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.
>> You didn't answer my question: are there any downsides to using
>> explicit coded-in-assembler accesses for atomic accesses?  You
>> can handwave all you want that it should "just work" with
>> volatile accesses, but volatility != atomicity, volatile in C
>> is really badly defined, GCC never officially gave stronger
>> guarantees, and we have a bugzilla full of PRs to show what a
>> minefield it is.
>> So, why not use the well-defined alternative?
>
> Because we don't need to,

You don't need to use volatile objects, or accesses through
valatile-cast pointers, either.

> and it hurts performance.

Please show how it does this -- one load is one load either way,
and one store is one store.


Segher


  reply	other threads:[~2007-08-09 19:25 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
2007-08-09 18:38             ` Segher Boessenkool
2007-08-09 19:05               ` Chris Snook
2007-08-09 19:19                 ` Segher Boessenkool [this message]
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=2d0e5a19da57d8c22e81a958ae984884@kernel.crashing.org \
    --to=segher@kernel.crashing.org \
    --cc=ak@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=cfriesen@nortel.com \
    --cc=csnook@redhat.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=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).