 |
The Question is:
In a previous "Ask the Wizard" article (6984 & 7383) the OpenVMS Wizard stated:
"The interlocked instructions can typically lock ranges of memory rather larger
than the target bit (or target queue entry), ... thus bitlocks located near
each other in virtual memory have unexpected contention. This contention will
not disrupt the corre
ct opreration of the bitlocks, but it can slow the access to the bitlocks."
You mention that the granularity of memory affected by a hardware interlock is
implementation specific, but where can we find out what this is for various OS
versions/hardware, especially OpenVMS v7.3-1 and ES40/45s hardware ?
The Answer is :
There is no particular specification of this value, and the granularity
of the memory interlock mechanism can be any value from an aligned
longword to all of system physical memory on VAX and a quadword to 128
bytes (recommended) to all of physical memory on Alpha -- this interlock
granularity decision is otherwise left entirely to the particular platform
design team(s) involved.
The answer to your question is thus a generic 128 byte separation
recommendation, and a further recommendation that you not code any
further derivative assumptions into applications.
For related (supporting) information, please see the Alpha LDx_L
and STx_C mechanisms. For additional related information, please
see the 21264 directory on Freeware V4.0 and the SRM_CHECK tool.
|