[Info-vax] yet another sys$qiow question
Johnny Billquist
bqt at softjar.se
Wed Aug 19 09:15:48 EDT 2015
On 2015-08-19 14:50, Simon Clubley wrote:
> On 2015-08-19, Bob Gezelter <gezelter at rlgsc.com> wrote:
>> For those without an Alpha Architecture manual at hand:
>>
>> 5.6.3 Implied Barriers
>> There are no implied barriers in Alpha. If an implied barrier is needed for functionally correct access to shared data, it must be written as an explicit instruction. (Software must explicitly include any needed MB, WMB, or CALL_PAL IMB instructions.) Alpha transitions such as the following have no built-in implied memory barriers:
>> * Entry to PALcode
>> * Sending and receiving interrupts
>> * Returning from exceptions, interrupts, or machine checks
>> * Swapping context
>> * Invalidating the Translation Buffer (TB)
>>
>> - Bob Gezelter, http://www.rlgsc.com
>
> Hello Bob,
>
> I see John's made the same comment about the IOSB while I was writing
> my response as I did.
>
> What you say above is correct but for the benefit of others following
> along, I just want to clarify that barriers are _nothing_ to do with
> the IOSB situation; barriers are _very_ localised sequences designed
> to ensure correct ordering of data at that specific point in time.
>
> The IOSB situation, where process memory can be changed by the operating
> system at some random point in the future without an explicit call by
> the process to the operating system, is an artifact of the VMS design
> and is an artifact which appears to be handled correctly by the current
> DEC compilers.
I'm not sure it is handled correctly by the current compilers. How could
they? It works more likely by chance and circumstance.
> Next question: do process space I/O buffers have to be marked as volatile
> as well for the same reason ?
Yes. For the same reason. However, you might more easily get away
without it here, as it is unlikely that you are reading anything at all
from the buffer before the operation has indicated that it completed, so
the compiler do not have a previous access it can optimize from.
Johnny
More information about the Info-vax
mailing list