Messages in this thread | | | Date | Mon, 26 Nov 2007 17:12:23 +0000 | From | Ben Dooks <> | Subject | Re: [RFC] Documentation about unaligned memory access |
| |
On Fri, Nov 23, 2007 at 01:43:29PM +0200, Heikki Orsila wrote: > On Fri, Nov 23, 2007 at 12:15:53AM +0000, Daniel Drake wrote: > > Why unaligned access is bad > > =========================== > > > > Most architectures are unable to perform unaligned memory accesses. Any > > unaligned access causes a processor exception. > > "Some architectures are unable to perform unaligned memory accesses, > either an exception is generated, or the data > access is silently invalid. In architectures that allow unaligned > access, natural aligned accesses are usually faster than non-aligned." > > > In summary: if your code causes unaligned memory accesses to happen, your code > > will not work on some platforms, and will perform *very* badly on others. > > *very* -> *slower* > > > Natural alignment > > ================= > > Please move this definition before "Why unaligned access is bad". > > Also, it would be nice to have a table of ISAs: > > ISA Need Need > natural alignment > alignment by x > -------------------------------------------- > m68k No 2 > powerpc/ppc Yes Word size > x86 No No > x86_64 No No arm32 Yes 2 for 16bit data, 4 for 32bit
Note, if the unaligned handler is running, the alignment will be fixed by the fault handler (at the cost of taking a fault). If the unaligned handler is turned off, you get a "free" shift of the data instead.
-- Ben (ben@fluff.org, http://www.fluff.org/)
'a smiley only costs 4 bytes' - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |