kernel oops due to unaligned access with lswi

linas at linas at
Thu Nov 20 08:51:39 EST 2003

On Sun, Nov 16, 2003 at 06:04:11PM -0500, David Edelsohn wrote:
> >>>>> Benjamin Herrenschmidt writes:
> Ben> I remember beeing regulary told (I think by Apple while I was still
> Ben> doing MacOS hacking) that those string instructions were evil,
> Ben> deprecated, and should be avoided as they weren't peforming better
> Ben> than the equivalent set of load/store instructions... Is this
> Ben> still true ? In which case we may want to avoid generating them
> Ben> from gcc..
> 	The information that you received about lwsi are overly
> simplistic.  The instructions are neither overly good nor overly bad --
> they should not be used for everything, but neither should they be avoided
> at all cost.  They are particularly good for producing compact code and
> preserving the instruction cache.  Remember, programming, including
> assembly language programming, is an art.

Back in ye olde dayes, these insns were way better (by a factor of 3x)
for doing load/stores to i/o space, cause they could pump out a word
every bus cycle as opposed to every 3 cycles (due to pipeline stalls).

I guess things like G5, etc. now have enough load/store units and
etc. hardware that this is no longer an issue?  So that if I wanted
to, I could PIO fast enough to e.g. keep a pci bus saturated?
(We used PIO in ye olde days for dynamic data that would have gone
stale by the time a dma was set up and run.)  Just curious,  these
insn's used to be freinds, not enemies.


** Sent via the linuxppc-dev mail list. See

More information about the Linuxppc-dev mailing list