Re: [PATCH 5.15 000/476] 5.15.149-rc1 review

From: Guenter Roeck
Date: Thu Apr 25 2024 - 18:46:33 EST


Hi,

On 2/21/24 05:00, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 5.15.149 release.
There are 476 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.

Responses should be made by Fri, 23 Feb 2024 12:59:02 +0000.
Anything received after that time might be too late.

[ ... ]

Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
crypto: api - Disallow identical driver names


This patch results in a severe performance regression on arm64 systems;
there is more than 50% throughput loss on some sequential read tests.
The problem affects v5.15.y and older kernel branches.

Analysis shows that v5.15.y and older kernel _do_ try to register the same
crypto algorithm twice, once through

__crypto_register_alg
crypto_register_alg
crypto_register_skciphers
aes_init

and then again through

__crypto_register_alg
crypto_register_alg
crypto_register_skcipher
simd_skcipher_create_compat
aes_init

After above patch was applied, the second registration fails, resulting
in the regression.

The problem is not seen in later kernels due to commit 676e508122d9
("crypto: arm64/aes-ce - stop using SIMD helper for skciphers"). Applying this
commit or reverting above commit fixes the regression in v5.15.y and older.

Thanks is due to Momoko Hattori for reporting the problem and finding the
offending patch, Doug Anderson for finding the duplicate registration attempt,
and Brian Norris for finding the fix. I copied them on this e-mail in case
there are further questions.

Thanks,
Guenter