[Info-vax] SAMBA really sloooow on OVMS Integrity. Any Ideas????

Richard B. Gilbert rgilbert88 at comcast.net
Wed Aug 18 15:18:04 EDT 2010


Bob Koehler wrote:
> In article <b10eda82-8d64-428b-805b-71ccd0ca40e9 at x20g2000pro.googlegroups.com>, Len Whitwer <len at psds.com> writes:
>> We build from Samba download on HP's site. (What is an alignment fault
>> and how can I tell if we are getting them?)
> 
>    An alignment fault happens when you access an address that is not
>    an even multiple of the data size.  When a compiler can see that
>    you're going to do this, it should generate the necessary code
>    to access the surrounding larger data size and then strip off the
>    desired data.  When a compiler can't see this, or if the compiler
>    just isn't that robust, 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.
> 
>    Sometimes code must interface to external data streams that are
>    defined in poorly aligned manners.  Internal data stores should
>    always be allowed to be aligned (compilers like to do that for you).
> 
>    The best way to access a poorly alined external data stream is to
>    grab the whole thing, then code the movement from an unaligned to
>    an aligned copy (or back) in such a manner as not to create alignment
>    faults.
> 
>    There are tools in VMS to monitor alignment faults, but I've never
>    used them so someone else will have to chime in here.
> 

Usually, alignment errors have to be forced or something like that.  The 
compilers will align everything properly unless the programmer 
deliberately creates a data structure with non-aligned components. 
There may, occasionally, be good reason to do something like this but I 
can't think of one and I think best practice is to avoid it like the plague!



More information about the Info-vax mailing list