dm-crypt: Performance Regression 2.6.37 -> 2.6.38-rc8

From: Mario 'BitKoenig' Holbe
Date: Tue Mar 08 2011 - 11:46:01 EST


Hello,

dm-crypt in 2.6.38 changed to per-CPU workqueues to increase it's
performance by parallelizing encryption to multiple CPUs.
This modification seems to cause (massive) performance drops for
multiple parallel dm-crypt instances...

I'm running a 4-disk RAID0 on top of 4 independent dm-crypt(aes-xts)
devices on a Core2Quad 3GHz. This setup did overcome the single-CPU
limitation from previous versions and utilized all 4 cores for
encryption.
The throughput of this array drops from 282MB/s sustained read (dd,
single process) with 2.6.37.3 down to 133MB/s with 2.6.38-rc8 (which
nearly equals to single-disk throughput of 128MB/s - just in case this
matters).

This indicates way less parallelization now with 2.6.38 than before.
I don't think this was intentional :)

The dm-crypt per-CPU workqueues got introduced in 2.6.38 with
c029772125594e31eb1a5ad9e0913724ed9891f2
Reverting dm-crypt.c to the version before this commit re-gains the same
throughput as with 2.6.37.


Submitters/Signers of c029772125594e31eb1a5ad9e0913724ed9891f2 CC:ed.


Thanks for your work & regards
Mario
--
There are two major products that come from Berkeley: LSD and UNIX.
We don't believe this to be a coincidence. -- Jeremy S. Anderson

Attachment: signature.asc
Description: Digital signature