aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dca
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2011-01-13 19:59:53 +0000
committerAlasdair G Kergon <agk@redhat.com>2011-01-13 19:59:53 +0000
commitc029772125594e31eb1a5ad9e0913724ed9891f2 (patch)
treef97dc6534b0d3af9447002fe7d08ff25dfffed92 /drivers/dca
parent7dbcd137414f3877737802438926d6dba7906a9a (diff)
downloadkernel_samsung_smdk4412-c029772125594e31eb1a5ad9e0913724ed9891f2.zip
kernel_samsung_smdk4412-c029772125594e31eb1a5ad9e0913724ed9891f2.tar.gz
kernel_samsung_smdk4412-c029772125594e31eb1a5ad9e0913724ed9891f2.tar.bz2
dm crypt: scale to multiple cpus
Currently dm-crypt does all the encryption work for a single dm-crypt mapping in a single workqueue. This does not scale well when multiple CPUs are submitting IO at a high rate. The single CPU running the single thread cannot keep up with the encryption and encrypted IO performance tanks. This patch changes the crypto workqueue to be per CPU. This means that as long as the IO submitter (or the interrupt target CPUs for reads) runs on different CPUs the encryption work will be also parallel. To avoid a bottleneck on the IO worker I also changed those to be per-CPU threads. There is still some shared data, so I suspect some bouncing cache lines. But I haven't done a detailed study on that yet. Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Milan Broz <mbroz@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/dca')
0 files changed, 0 insertions, 0 deletions