Re: Getting rid of alignment faults in userspace
On 06/17/2011 08:11 AM, Andy Green wrote:
> On 06/17/2011 01:10 PM, Somebody in the thread at some point said:
> Hi -
>> I've recently become aware that a few packages are causing alignment
>> faults on ARM, and are relying on the alignment fixup emulation code in
>> the kernel in order to work.
> Just a FYI a lot of later ARM chips are solving alignment fixups in
> hardware in the Bus Interface Unit, so the problems won't show up in
> kernel stats.
>> Such faults are very expensive in terms of CPU cycles, and can generally
>> only result from wrong code (for example, C/C++ code which violates the
>> relevant language standards, assembler which makes invalid assumptions,
>> or functions called with misaligned pointers due to other bugs).
> Agreed it's usually evidence of something broken and / or evil in the code.
> There is still going to be a small cost even in hardware fixup so this
> is very much worth solving despite it's "becoming invisible" because the
> chips are hiding / solving it already.
But I believe that h/w feature is turned off in Linux by default. You
have to add noalign to the kernel command line to enable.