This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: linux says it is a bug
- From: Hannes Frederic Sowa <hannes at stressinduktion dot org>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Andrew Haley <aph at redhat dot com>, Jonathan Wakely <jwakely dot gcc at gmail dot com>, lin zuojian <manjian2006 at gmail dot com>, GCC Development <gcc at gcc dot gnu dot org>
- Date: Tue, 4 Mar 2014 12:34:13 +0100
- Subject: Re: linux says it is a bug
- Authentication-results: sourceware.org; auth=none
- References: <20140304064026 dot GE8019 at ubuntu> <CAFiYyc3bVGgG=dmozPG5m4Vx_oJbR=rR=TsZfj+01dvXmWiJmw at mail dot gmail dot com> <20140304091703 dot GE17043 at order dot stressinduktion dot org> <CAH6eHdQ2mrDYm5s2FiGWdQnp7V_cV0JdwGA381SXzp3D79j+=Q at mail dot gmail dot com> <20140304092420 dot GF17043 at order dot stressinduktion dot org> <53159C47 dot 5040901 at redhat dot com> <20140304093337 dot GG17043 at order dot stressinduktion dot org> <CAFiYyc0qdhHp+nV1qSy4X48yGo4nojrbAF7fgvW3sJf0pO_zxg at mail dot gmail dot com>
On Tue, Mar 04, 2014 at 12:08:19PM +0100, Richard Biener wrote:
> On Tue, Mar 4, 2014 at 10:33 AM, Hannes Frederic Sowa
> <hannes@stressinduktion.org> wrote:
> > On Tue, Mar 04, 2014 at 09:26:31AM +0000, Andrew Haley wrote:
> >> On 03/04/2014 09:24 AM, Hannes Frederic Sowa wrote:
> >> >> > So the bug was probably fixed more than 15 years ago.
> >> > Probably :)
> >> >
> >> > But the __volatile__ shoud do no harm and shouldn't influence code
> >> > generation in any way, no?
> >>
> >> Of course it will: it's a barrier.
> >
> > Sure. My question was about the volatile marker. asm("":::"memory") should act
> > as the barrier alone.
>
> __asm__("":::"memory")
>
> is a memory barrier
>
> volatile __asm__("":::"memory")
>
> is a memory barrier and a barrier for other volatile instructions.
>
> Nothing more, nothing less.
>
> Neither is a "optimization barrier" or "compiler barrier" or whatever
> name you invent.
Being a bit more familiar with the kernel code I often think about a
memory barrier as "fencing" instruction.
Thanks for the clarification,
Hannes