All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Satyam Sharma <satyam.sharma@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>,
	akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
	Johannes Stezenbach <js@linuxtv.org>,
	Jesper Juhl <jesper.juhl@gmail.com>,
	Randy Dunlap <randy.dunlap@oracle.com>,
	Heikki Orsila <shdl@zakalwe.fi>,
	jimmy bahuleyan <knight.camelot@gmail.com>,
	Stefan Richter <stefanr@s5r6.in-berlin.de>
Subject: Re: [PATCH] "volatile considered harmful", take 3
Date: Fri, 11 May 2007 23:21:13 -0700	[thread overview]
Message-ID: <46455CD9.7010205@zytor.com> (raw)
In-Reply-To: <a781481a0705112315u5843abaar292859428ec60603@mail.gmail.com>

Satyam Sharma wrote:
> 
> Because volatile is ill-defined? Or actually, *undefined* (well,
> implementation-defined is as good as that)? It's *so* _vague_,
> one doesn't _feel_ like using it at all!
> 

Sorry, that's just utter crap.  Linux isn't written in some mythical C
which only exists in standard document, it is written in a particular
subset of GNU C.  "volatile" is well enough defined in that context, it
is just frequently misused.

> We already have a complete API containing optimization barriers,
> load/store/full memory barriers. With well-defined and
> well-understood semantics. Just ... _why_ use volatile?

See below.

> It will _always_ work. In fact you can't really say the same for
> volatile. We already assume the compiler _actually_ took some
> pains to stuff meaning into C's (lack of) definition of volatile and
> implement it -- but in what sense, nobody knows (the C standard
> doesn't, so what are we).

It will always work within the context of GNU C.

>> more heavy-handed as it's disabling *all* optimization such as loop
>> invariants across the barrier.
> 
> This is a legitimate criticism, I agree.

There you have it.

	-hpa

  reply	other threads:[~2007-05-12  6:21 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-11 17:36 [PATCH] "volatile considered harmful", take 3 Jonathan Corbet
2007-05-11 21:25 ` Jesper Juhl
2007-05-12  3:21 ` Satyam Sharma
2007-05-12  4:29   ` Jeff Garzik
2007-05-12  5:34   ` H. Peter Anvin
2007-05-12  5:41     ` H. Peter Anvin
2007-05-12  6:15     ` Satyam Sharma
2007-05-12  6:21       ` H. Peter Anvin [this message]
2007-05-12  7:02         ` Satyam Sharma
2007-05-12  7:13           ` H. Peter Anvin
2007-05-12  7:28             ` Satyam Sharma
2007-05-12  7:53             ` Stefan Richter
2007-05-12 11:51               ` Heikki Orsila
2007-05-12 18:06               ` H. Peter Anvin
2007-05-12  7:22           ` Stefan Richter
2007-05-12  7:33             ` jimmy bahuleyan
2007-05-12  7:45               ` Jeff Garzik
2007-05-12 19:17         ` Dr. David Alan Gilbert
     [not found] <8jHg3-1T2-5@gated-at.bofh.it>
     [not found] ` <8jQt5-7As-3@gated-at.bofh.it>
     [not found]   ` <8jSuQ-28J-21@gated-at.bofh.it>
     [not found]     ` <8jT7y-39x-9@gated-at.bofh.it>
2007-05-13  0:00       ` Bodo Eggert
2007-05-14  3:37         ` Satyam Sharma
2007-05-17 23:51           ` Bill Davidsen
2007-05-18  3:13             ` Satyam Sharma

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=46455CD9.7010205@zytor.com \
    --to=hpa@zytor.com \
    --cc=akpm@linux-foundation.org \
    --cc=corbet@lwn.net \
    --cc=jesper.juhl@gmail.com \
    --cc=js@linuxtv.org \
    --cc=knight.camelot@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=randy.dunlap@oracle.com \
    --cc=satyam.sharma@gmail.com \
    --cc=shdl@zakalwe.fi \
    --cc=stefanr@s5r6.in-berlin.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.