crypto: mark crypto workqueues CPU_INTENSIVE
kcrypto_wq and pcrypt->wq's are used to run ciphers and may consume considerable amount of CPU cycles. Mark both as CPU_INTENSIVE so that they don't block other work items. As the workqueues are primarily used to burn CPU cycles, concurrency levels shouldn't matter much and are left at 1. A higher value may be beneficial and needs investigation. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>hifive-unleashed-5.1
parent
41f2977d40
commit
c73b7d02da
|
@ -20,7 +20,8 @@ EXPORT_SYMBOL_GPL(kcrypto_wq);
|
||||||
|
|
||||||
static int __init crypto_wq_init(void)
|
static int __init crypto_wq_init(void)
|
||||||
{
|
{
|
||||||
kcrypto_wq = create_workqueue("crypto");
|
kcrypto_wq = alloc_workqueue("crypto",
|
||||||
|
WQ_MEM_RECLAIM | WQ_CPU_INTENSIVE, 1);
|
||||||
if (unlikely(!kcrypto_wq))
|
if (unlikely(!kcrypto_wq))
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -455,7 +455,8 @@ static int pcrypt_init_padata(struct padata_pcrypt *pcrypt,
|
||||||
|
|
||||||
get_online_cpus();
|
get_online_cpus();
|
||||||
|
|
||||||
pcrypt->wq = create_workqueue(name);
|
pcrypt->wq = alloc_workqueue(name,
|
||||||
|
WQ_MEM_RECLAIM | WQ_CPU_INTENSIVE, 1);
|
||||||
if (!pcrypt->wq)
|
if (!pcrypt->wq)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue