|
@@ -2749,16 +2749,17 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
|
|
|
}
|
|
|
|
|
|
ret = -ENOMEM;
|
|
|
- cc->io_queue = alloc_workqueue("kcryptd_io", WQ_MEM_RECLAIM, 1);
|
|
|
+ cc->io_queue = alloc_workqueue("kcryptd_io", WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, 1);
|
|
|
if (!cc->io_queue) {
|
|
|
ti->error = "Couldn't create kcryptd io queue";
|
|
|
goto bad;
|
|
|
}
|
|
|
|
|
|
if (test_bit(DM_CRYPT_SAME_CPU, &cc->flags))
|
|
|
- cc->crypt_queue = alloc_workqueue("kcryptd", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, 1);
|
|
|
+ cc->crypt_queue = alloc_workqueue("kcryptd", WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM, 1);
|
|
|
else
|
|
|
- cc->crypt_queue = alloc_workqueue("kcryptd", WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND,
|
|
|
+ cc->crypt_queue = alloc_workqueue("kcryptd",
|
|
|
+ WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM | WQ_UNBOUND,
|
|
|
num_online_cpus());
|
|
|
if (!cc->crypt_queue) {
|
|
|
ti->error = "Couldn't create kcryptd queue";
|