[Info-vax] SAMBA really sloooow on OVMS Integrity. Any Ideas????
John Reagan
johnrreagan at earthlink.net
Wed Aug 18 11:24:41 EDT 2010
"Jan-Erik Soderholm" <jan-erik.soderholm at telia.com> wrote in message
news:i4gqbe$pcm$1 at news.albasani.net...
> On 2010-08-18 17:11, Bob Koehler wrote:
>
>
>> ...the instruction that accesses the data will
>> cause an alignment fault, which will get trapped, the data fetch
>> will be fixed up, and then the fault dismissed. This takes longer
>> than just fixing up the access in the first place.
>>
>
> And the main point here is that it takes *MUCH* longer on
> Itanium then on Alpha. Alpha "fixed" it in the PAL code,
> Itanium interrupts all way back the VMS kernel to get it fixed.
>
More background.
The Alpha architecture/hardware never fixes an alignment fault. Always
traps to the PAL code which fixes it without VMS' knowledge (unless you are
actively tracking them in which case the PAL code signals the OS with the
information which isn't much overhead as the PAL code still did the fixup).
The Itanium architecture/hardware can fix some misaligned references. For
example, any misaligned 16-bit word in the same 64-bit quadword will be
fixed by the hardware. Only if you are tracking them, will it be signalled
to VMS (and I believe not fixed up by the hardware). That means that only 1
in 4 unaligned word references may actually cause a fault. However, when
you get the fault on Itanium, yes it is MUCH worse than on Alpha. The Alpha
PAL code knows about VMS' memory management data structures, etc. and can
manage cache traffic on multiple CPU systems. On Itanium all of that gets
handled by VMS. In general however, some piece of code may be tracking
alignment faults so I'm not really sure how much benefit you get from the
on-chip handling.
John
More information about the Info-vax
mailing list