Re: [PATCH 1/24] make atomic_read() behave consistently on alpha
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2007-08-09 19:26:38
Also in:
linux-arch, lkml
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2007-08-09 19:26:38
Also in:
linux-arch, lkml
On Thu, 9 Aug 2007, Chris Snook wrote:
Segher Boessenkool wrote:quoted
quoted
quoted
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, and it hurts performance.
It hurts performance by implementing 32-bit atomic reads in assembler?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds