[dm-crypt] (no subject)

Redwood Hyd redwoodhyd at gmail.com
Fri Feb 7 14:51:25 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;
  blk_limits_io_min(limits, 32768);
  blk_limits_io_opt(limits, 32768);

It works (passed iozone -a,  robocopy from samba client) and doubled
performance of dm-crypt WRITES !

Problem -
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
Redwood hyd

More information about the dm-crypt mailing list