v1: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg01601.html v2: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg03159.html
The XTS cipher mode is significantly slower than CBC mode. This series approximately doubles the XTS performance which will improve the I/O rate for LUKS disks. Changed in v3: - Swap order of byteswapping calls in xts_mult_x - Clarify arithmetic ops in xts_mult_x - Do in-place encryption in some xts_tweak_encdec calls Changed in v2: - Use union for xts_uint128 to allow bytewise access without casts - Use byteswapping for endian correct bit gf128 shifting - Optimize for aligned buffers, with fallback for unaligned buffers - Add tests for unaligned buffer usage Daniel P. Berrangé (8): crypto: expand algorithm coverage for cipher benchmark crypto: remove code duplication in tweak encrypt/decrypt crypto: introduce a xts_uint128 data type crypto: convert xts_tweak_encdec to use xts_uint128 type crypto: convert xts_mult_x to use xts_uint128 type crypto: annotate xts_tweak_encdec as inlineable crypto: refactor XTS cipher mode test suite crypto: add testing for unaligned buffers with XTS cipher mode crypto/xts.c | 200 +++++++++++++++------------- tests/benchmark-crypto-cipher.c | 149 +++++++++++++++++---- tests/test-crypto-xts.c | 226 +++++++++++++++++++++++--------- 3 files changed, 402 insertions(+), 173 deletions(-) -- 2.17.2