On Wed, Jul 26, 2017 at 01:07:34AM +0100, Ard Biesheuvel wrote:
>
> > On 26 Jul 2017, at 00:36, Giovanni Cabiddu
> > wrote:
> >
> > Hi Ard,
> >
> >> On Fri, Jul 21, 2017 at 04:42:38PM +0100, Ard Biesheuvel wrote:
> >> +static int crypto_scomp_init_tfm(struct crypto_tfm *tfm)
> >> +{
> >> +
> On 26 Jul 2017, at 00:36, Giovanni Cabiddu wrote:
>
> Hi Ard,
>
>> On Fri, Jul 21, 2017 at 04:42:38PM +0100, Ard Biesheuvel wrote:
>> +static int crypto_scomp_init_tfm(struct crypto_tfm *tfm)
>> +{
>> +int ret;
>> +
>> +mutex_lock(&scomp_lock);
>> +ret = crypto_scomp_alloc_all_scr
Hi Ard,
On Fri, Jul 21, 2017 at 04:42:38PM +0100, Ard Biesheuvel wrote:
> +static int crypto_scomp_init_tfm(struct crypto_tfm *tfm)
> +{
> + int ret;
> +
> + mutex_lock(&scomp_lock);
> + ret = crypto_scomp_alloc_all_scratches();
> + mutex_unlock(&scomp_lock);
> +
> + return ret
The scompress code allocates 2 x 128 KB of scratch buffers for each CPU,
so that clients of the async API can use synchronous implementations
even from atomic context. However, on systems such as Cavium Thunderx
(which has 96 cores), this adds up to a non-negligible 24 MB. Also,
32-bit systems may