Re: [PATCH RESEND 1/9] crypto: caam/jr - add fallback for XTS with more than 8B IV

From: Horia Geantă
Date: Mon Sep 14 2020 - 12:24:50 EST

On 9/9/2020 1:10 AM, Herbert Xu wrote:
> On Tue, Sep 08, 2020 at 01:35:04PM +0300, Horia Geantă wrote:
>>> Just go with the get_unaligned unconditionally.
>> Won't this lead to sub-optimal code for ARMv7
>> in case the IV is aligned?
> If this should be optimised in ARMv7 then that should be done
> in get_unaligned itself and not open-coded.
I am not sure what's wrong with avoiding using the unaligned accessors
in case data is aligned.

Documentation/core-api/unaligned-memory-access.rst clearly states:
These macros work for memory accesses of any length (not just 32 bits as
in the examples above). Be aware that when compared to standard access of
aligned memory, using these macros to access unaligned memory can be costly in
terms of performance.

So IMO it makes sense to use get_unaligned() only when needed.
There are several cases of users doing this, e.g. siphash.