[Info-vax] SAMBA really sloooow on OVMS Integrity. Any Ideas????
Bob Koehler
koehler at eisner.nospam.encompasserve.org
Wed Aug 18 11:11:10 EDT 2010
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.
More information about the Info-vax
mailing list