crypto: scomp - Allocate per-cpu buffer on first use of each CPU
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 17 Mar 2025 08:33:59 +0000 (16:33 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 7 Apr 2025 05:22:25 +0000 (13:22 +0800)
commitc47e1f4142a3823b6e963e14db295a8a733804b5
tree53b32f282ddba99c35212b498d18c452873d3f30
parent138804c2c18ca8bd1443dea173b3cc2643995919
crypto: scomp - Allocate per-cpu buffer on first use of each CPU

Per-cpu buffers can be wasteful when the number of CPUs is large,
especially if the buffer itself is likely to never be used.  Reduce
such wastage by only allocating them on first use of a particular
CPU.

On start-up allocate a single buffer on the first possible CPU.
For every other CPU a work struct will be scheduled on first use
to allocate the buffer for that CPU.  Until the allocation succeeds
simply use the first CPU's buffer which is protected under a spin
lock.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/scompress.c
include/crypto/acompress.h
include/crypto/internal/acompress.h
include/crypto/internal/scompress.h