• Jussi Kivilinna's avatar
    crypto: aesni_intel - add more optimized XTS mode for x86-64 · c456a9cd
    Jussi Kivilinna authored
    Add more optimized XTS code for aesni_intel in 64-bit mode, for smaller stack
    usage and boost for speed.
    
    tcrypt results, with Intel i5-2450M:
    256-bit key
            enc     dec
    16B     0.98x   0.99x
    64B     0.64x   0.63x
    256B    1.29x   1.32x
    1024B   1.54x   1.58x
    8192B   1.57x   1.60x
    
    512-bit key
            enc     dec
    16B     0.98x   0.99x
    64B     0.60x   0.59x
    256B    1.24x   1.25x
    1024B   1.39x   1.42x
    8192B   1.38x   1.42x
    
    I chose not to optimize smaller than block size of 256 bytes, since XTS is
    practically always used with data blocks of size 512 bytes. This is why
    performance is reduced in tcrypt for 64 byte long blocks.
    
    Cc: Huang Ying <ying.huang@intel.com>
    Signed-off-by: default avatarJussi Kivilinna <jussi.kivilinna@iki.fi>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    c456a9cd
aesni-intel_glue.c 37.7 KB