Re: zram: Optimize LZ4 dictionary compression performance
From: Sergey Senozhatsky
Date: Tue Mar 10 2026 - 21:22:33 EST
On (26/03/10 08:32), gao xu wrote:
> +static int lz4_create_cstream(struct zcomp_params *params)
> +{
> + int ret;
> +
> + if (!params->dict || !params->dict_sz)
> + return 0;
> +
> + params->drv_data = kzalloc(sizeof(LZ4_stream_t), GFP_KERNEL);
> + if (!params->drv_data)
> + return -ENOMEM;
> +
> + ret = LZ4_loadDict((LZ4_stream_t *)params->drv_data,
> + params->dict, params->dict_sz);
> + if (ret != params->dict_sz) {
> + kfree(params->drv_data);
> + return -EINVAL;
> + }
> +
> + return 0;
> +}
>
> static int lz4_setup_params(struct zcomp_params *params)
> {
> if (params->level == ZCOMP_PARAM_NO_LEVEL)
> params->level = LZ4_ACCELERATION_DEFAULT;
>
> - return 0;
> + return lz4_create_cstream(params);
> }
[..]
> Should I modify it like this?
Do you need lz4_create_cstream() as a separate function? If not, you can
just move the code into lz4_setup_params() and remove lz4_create_cstream()?