diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index 5972b0662b7a..59c8dbe0b975 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -1639,6 +1639,7 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv) ret = -ENOMEM; cc->io_queue = alloc_workqueue("kcryptd_io", + WQ_HIGHPRI | WQ_NON_REENTRANT| WQ_MEM_RECLAIM, 1); @@ -1648,7 +1649,8 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv) } cc->crypt_queue = alloc_workqueue("kcryptd", - WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | + WQ_HIGHPRI | + WQ_MEM_RECLAIM | WQ_UNBOUND, num_online_cpus()); if (!cc->crypt_queue) { ti->error = "Couldn't create kcryptd queue";