Re: [patch] spinlocks: remove 'volatile'

Pavel Machek
2006-07-08T20:49:53Z

Hi!

> > This is a bait and switch argument. The code was displayed to show
> > the compiler output, not an example of good coding practice.
>
> NO IT IS NOT.
>
> The whole point of my argument is simple:
>
> > > "'volatile' is useless. The things it did 30 years ago are much
> > > more complex these days, and need to be tied to much more
> > > detailed rules that depend on the actual particular problem,
> > > rather than one keyword to the compiler that doesn't actually
> > > give enough information for the compiler to do anything useful"
>
> And dammit, if you cannot admit that, then you're not worth discussing
> with.
>
> "volatile" is useless. It's a big hammer in a world where the nails aren't
> nails any more, they are screws, thumb-tacks, and spotwelding.

Actually, because volatile is big hammer, it can be used to work
around compiler bugs. If compiler dies at internal error in function
foo, just sprinkle few volatiles into it, and you can usually work
around that compiler problem.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html