Re: [RFC] Documentation about unaligned memory access

From: JÃrn Engel
Date: Fri Nov 30 2007 - 03:24:02 EST


On Fri, 23 November 2007 00:15:53 +0000, Daniel Drake wrote:
>
> What's the definition of an unaligned access?
> =============================================
>
> Unaligned memory accesses occur when you try to read N bytes of data starting
> from an address that is not evenly divisible by N (i.e. addr % N != 0).
> For example, reading 4 bytes of data from address 0x10000004 is fine, but
> reading 4 bytes of data from address 0x10000005 would be an unaligned memory
> access.

The wording could also apply to a DMA of 8k from a 4k-aligned address.
But I don't have a good idea how to improve it.

> It's safe to assume that memcpy will always copy bytewise and hence will
> never cause an unaligned access.

s/always copy/always behave as if copying/

memcpy usually copies at least wordwise, possibly even in bigger chunks.
But that is just the inner loop. Unaligned bytes at the beginning/end
receive special treatment.

JÃrn

--
The rabbit runs faster than the fox, because the rabbit is rinning for
his life while the fox is only running for his dinner.
-- Aesop
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/