[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