Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Dec 2007 10:34:33 +0100
From:      Bernd Walter <ticso@cicely12.cicely.de>
To:        Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?= <des@des.no>
Cc:        Wilko Bulte <wb@freebie.xs4all.nl>, ivoras@freebsd.org, freebsd-hackers@freebsd.org
Subject:   Re: Architectures with strict alignment?
Message-ID:  <20071230093432.GF31522@cicely12.cicely.de>
In-Reply-To: <86prwp161k.fsf@ds4.des.no>
References:  <fl4c8o$vpu$1@ger.gmane.org> <20071229.122221.-432830441.imp@bsdimp.com> <20071229193034.GA73845@freebie.xs4all.nl> <86prwp161k.fsf@ds4.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Dec 29, 2007 at 11:37:27PM +0100, Dag-Erling Smørgrav wrote:
> Wilko Bulte <wb@freebie.xs4all.nl> writes:
> > In the past the alpha port had it too.
> 
> No, it was optional and defaulted to off.

It was never optional, since no alpha CPU can do missaligned access
Alphas can fix missaligned access by software trap handlers in the same
way as most other strong alignment architectures can and we did this
for userland, but not in kernel.
Nevertheless it is horribly slow to do this, but was required since
there was so many crappy software that days - fortunately this has
changed over time, although I still see aligment traps on new software
as well.
Sadly said we never implemented missaligment traps for x86 so
developers without alphas could see their faults and made us alpha
people a hard live by introducing new missalignments bugs on a regular
basis so that many finaly gave up on that loop.

On the other hand people should keep in mind that even modern x86
are not very good when it comes to missaligned access.
They handle it in hardware, but it is not that optimized as handling
alligned access, so you still see a major performance penalty.

-- 
B.Walter                http://www.bwct.de      http://www.fizon.de
bernd@bwct.de           info@bwct.de            support@fizon.de



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071230093432.GF31522>