RE: zram: Optimize LZ4 dictionary compression performance
From: gao xu
Date: Tue Mar 10 2026 - 22:55:36 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()?
lz4_create_cstream() is not needed as a separate function. I will address this in v2.