Re: [RFC/PATCH] doc: volatile considered evil

Jeff Garzik
2007-05-08T21:26:00Z

Randy Dunlap wrote:
> Jeff Garzik wrote:
>> Jeremy Fitzhardinge wrote:
>>> No, David means that "asm volatile (...)" is meaningful and OK to use.
>
> I thought it was OK in readl(), writel(), etc... (and in asm),
> but that's it. (and jiffies)
>
>> In a driver? Highly unlikey it is OK. In a filesystem? Even more
>> unlikely it is OK to use.
>>
>> The set of circumstances where 'volatile' is acceptable is very limited.
>>
>> You will see it used properly in the definitions of writel(), for
>> example. But most drivers using 'volatile' are likely bugs.

Not sure how to interpret your top-posted response :)

It is normal in the definition of writel(), in arch code, but
inappropriate in drivers when they _use_ writel().

If I may generalize, arch code generally knows what it's doing, when it
uses volatile. OTOH, driver authors that use volatile generally do
/not/ know what they are doing.

Jeff