[dm-crypt] dm-crypt perf related changes and cryptsetup LUKS format failing
redwoodhyd at gmail.com
Fri Feb 7 14:53:30 CET 2014
Hi All ,
I did an experimental kernel change in linux/drivers/md/dm-crypt.c for
improving crypto HW performance.
Here is brief of it
static void crypt_io_hints(struct dm_target *ti,
struct queue_limits *limits)
limits->physical_block_size = 32768;
It works (passed iozone -a, robocopy from samba client) and doubled
performance of dm-crypt WRITES !
After above change cryptsetup luks format started failing disk
validations so additionally in
Cryptsetup-1.1.3 I did following changes to pass disk validation:
/* Change-1 to overcome validation failure from dm-table.c that
"adding target device caused an alignment inconsistency" */
#define LUKS_STRIPES increased from 4000 to 524288
/* Change-2 to overcome validation failure in dm-table.c
"device-mapper: table: 253:1 start=8 not aligned to h/w logical block
size 32768 of dm-0" */
#define LUKS_ALIGN_KEYSLOTS increased from 4096 to 32768
/* Change-3 Additionally did following change */
#define DEFAULT_ALIGNMENT increased from 4096 to 32768
Question - Can someone recommend any later version of cryptsetup
package where I don't need to change
cryptsetup and luks format can still pass
validate_hardware_logical_block_alignment() in dm-table.c for 32k
encrypt block device ?
Performance related changes are experimental - If someone can suggest
things around this I will post my results to forum.
Regards and Thanks in advance
More information about the dm-crypt