Subject: Re: [patch 3/3] cell: prevent alignment interrupt on local store

From: Benjamin Herrenschmidt <[email-masked]>
Date: Wed, 11 Apr 2007 13:30:53 +1000

On Wed, 2007-04-11 at 11:56 +0900, Akinobu Mita wrote:
> On Wed, Apr 11, 2007 at 07:22:48AM +1000, Benjamin Herrenschmidt wrote:
> > On Tue, 2007-04-10 at 20:15 +0900, Akinobu Mita wrote:
> > > An Alignment interrupt occurs when the instruction is lmw, stmw, lswi, lswx,
> > > stswi, or stswx, and the operand is in local store.
> > > 
> > > GCC generated such instructions to handle memcpy() instead of kernel
> > > defined memcpy() without -mno-string option.
> > > 
> > > Signed-off-by: Akinobu Mita <[email-masked]>
> > 
> > I would personally prefer building the entire kernel with -mno-string
> > when cell support is enabled...
> 
> I'm about to resend the patch which prevent alignment interrupts on LS
> by using memcpy_fromio() rather than putting a collection of -mno-* options
> in Makefile. (only -mno-string is not enough to prevent that as Segher said)

Sure, however we also know for sure that string instructions will suck a
LOT on a cell ... so for a multi platforms kernel that has cell support
built-in, it makes some sense to not use them.

Ben.