From: Yury Norov [NVIDIA] Date: Wed, 4 Jun 2025 20:47:40 +0000 (-0400) Subject: crypto: pcrypt - Optimize pcrypt_aead_init_tfm() X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ea87e6c40a79de84cc2c6186eafb476be79916e0;p=thirdparty%2Flinux.git crypto: pcrypt - Optimize pcrypt_aead_init_tfm() The function opencodes cpumask_nth(). The dedicated helper is faster than an open for-loop. Signed-off-by: Yury Norov [NVIDIA] Signed-off-by: Herbert Xu --- diff --git a/crypto/pcrypt.c b/crypto/pcrypt.c index c33d29a523e02..c3a9d4f2995c7 100644 --- a/crypto/pcrypt.c +++ b/crypto/pcrypt.c @@ -178,7 +178,7 @@ static int pcrypt_aead_decrypt(struct aead_request *req) static int pcrypt_aead_init_tfm(struct crypto_aead *tfm) { - int cpu, cpu_index; + int cpu_index; struct aead_instance *inst = aead_alg_instance(tfm); struct pcrypt_instance_ctx *ictx = aead_instance_ctx(inst); struct pcrypt_aead_ctx *ctx = crypto_aead_ctx(tfm); @@ -187,10 +187,7 @@ static int pcrypt_aead_init_tfm(struct crypto_aead *tfm) cpu_index = (unsigned int)atomic_inc_return(&ictx->tfm_count) % cpumask_weight(cpu_online_mask); - ctx->cb_cpu = cpumask_first(cpu_online_mask); - for (cpu = 0; cpu < cpu_index; cpu++) - ctx->cb_cpu = cpumask_next(ctx->cb_cpu, cpu_online_mask); - + ctx->cb_cpu = cpumask_nth(cpu_index, cpu_online_mask); cipher = crypto_spawn_aead(&ictx->spawn); if (IS_ERR(cipher))