dm-crypt: use unbound workqueue for request processing Use unbound workqueue so that work is automatically ballanced between available CPUs. Note: workqueue implementation is somehow buggy, so it still does not yield full parallelization across multiple CPUs. Signed-off-by: Mikulas Patocka --- drivers/md/dm-crypt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) Index: linux-3.1-fast/drivers/md/dm-crypt.c =================================================================== --- linux-3.1-fast.orig/drivers/md/dm-crypt.c 2011-10-24 14:58:26.000000000 +0200 +++ linux-3.1-fast/drivers/md/dm-crypt.c 2011-10-24 17:07:16.000000000 +0200 @@ -1649,8 +1649,9 @@ static int crypt_ctr(struct dm_target *t cc->crypt_queue = alloc_workqueue("kcryptd", WQ_NON_REENTRANT| WQ_CPU_INTENSIVE| - WQ_MEM_RECLAIM, - 1); + WQ_MEM_RECLAIM| + WQ_UNBOUND, + num_online_cpus()); if (!cc->crypt_queue) { ti->error = "Couldn't create kcryptd queue"; goto bad;