On 12 February 2013 08:03, Ian Lepore <[email protected]> wrote:

>> I agree that for practical means, the _currently_ used compilers should
>> consider the tsleep() call as the sequential point. But then the volatile
>> qualifier cast applied for the given access would not change the code as
>> well.
>>
>
> Doesn't this then imply that essentially every driver has this problem,
> and for that matter, every sequence of code anywhere in the base
> involving "loop while repeatedly sleeping, then waking and checking the
> state of some data for changes"?  I sure haven't seen that many volatile
> qualifiers scattered around the code.

Well, not even that - any cached access (eg to a softc member) after a
mutex operation would be invalid.

Hence why there's supposed to be some specific fairy dust sprinkled
over those functions/inlines to tell the compiler to invalidate local
copies of memory structures.



Adrian
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"

Reply via email to